Orm工具不允许:你做什么?

7 orm data-access-layer

假设您所在的IT商店不允许使用任何类型的ORM工具.他们不想买一个,也不能使用开源解决方案.

你会怎么做?放弃真正的域模型并以工作表为中心?制作自己的DAL?

Mik*_*per 12

严格来说,您的选择是:

  1. 不要使用关系数据库
  2. 不要使用OOP语言

否则某种ORM解决方案是不可避免的(即使你自己动手,它仍然是一个简单的ORM层).

  • 你是对的!!! ORM中的O是OOP中的第一个O. ORM中的R是RDBMS中的第一个R. M是映射. (3认同)

Chr*_*ett 9

选项:

  1. 滚动你自己
  2. 放弃
  3. 无论如何都要使用开源软件,在它运行良好时向他们展示原型,然后让他们重新考虑开源.

  • #3 - 限制工具使用的那种人可能就是那些解雇违规员工的员工. (5认同)
  • 我一直都做#3.因为不了解工具而与工具作斗争的人也是不太可能试图理解你的代码的人. (3认同)
  • #3,然后#2,如果他们还没有解雇你 (2认同)

Rob*_* S. 9

根据您的用户名,我会说"使用LINQ".它内置于.NET中,而不是ORM(严格来说).


小智 6

如果你真的不能使用现有的ORM之一,那么我不建议创建自己的ORM.本地种植的ORM往往是半实施,设计不良,疣状动物,在前六个月似乎有所帮助,然后逐渐成为项目中最大的时间.

如果您应用Fowler的企业应用程序架构模式中的"RowDataGateway"或"TableDataGateway"等模式,则可以不使用ORM.

您仍然会最终发展自己的隔离层以将您的域与数据库分开,但创建它们并不像滚动自己的ORM那样昂贵.


Jas*_*ker 5

这里有三种可能性:

  1. 您的老板不理解使用ORM的好处.
  2. 你的老板们按照他们一直做事的方式做事,不会考虑改变.
  3. 您的老板有正当理由不选择ORM.

不仅如此,它还是这三件事的组合.他们可能有一些有效的担忧,可以通过更好地理解ORM来治愈.我的建议是尝试在ORM上销售它们.找到一个特别讨厌的代码片段,可以通过使用ORM来修复,并制作一个原型,显示可以简化的代码量.此外,愿意妥协.

如果他们不愿意为此做出让步,你需要问问自己这是否真的是你想要工作的地方.不是因为他们不会让你使用ORM(你可能没有),但因为他们不会听你的.你不能总是按自己的方式行事,但是你应该对开发过程有所了解.