假设您所在的IT商店不允许使用任何类型的ORM工具.他们不想买一个,也不能使用开源解决方案.
你会怎么做?放弃真正的域模型并以工作表为中心?制作自己的DAL?
严格来说,您的选择是:
不要使用关系数据库
不要使用OOP语言
否则某种ORM解决方案是不可避免的(即使你自己动手,它仍然是一个简单的ORM层).
选项:
滚动你自己
放弃
无论如何都要使用开源软件,在它运行良好时向他们展示原型,然后让他们重新考虑开源.
根据您的用户名,我会说"使用LINQ".它内置于.NET中,而不是ORM(严格来说).
如果你真的不能使用现有的ORM之一,那么我不建议创建自己的ORM.本地种植的ORM往往是半实施,设计不良,疣状动物,在前六个月似乎有所帮助,然后逐渐成为项目中最大的时间.
如果您应用Fowler的企业应用程序架构模式中的"RowDataGateway"或"TableDataGateway"等模式,则可以不使用ORM.
您仍然会最终发展自己的隔离层以将您的域与数据库分开,但创建它们并不像滚动自己的ORM那样昂贵.
这里有三种可能性:
您的老板不理解使用ORM的好处.
你的老板们按照他们一直做事的方式做事,不会考虑改变.
您的老板有正当理由不选择ORM.
不仅如此,它还是这三件事的组合.他们可能有一些有效的担忧,可以通过更好地理解ORM来治愈.我的建议是尝试在ORM上销售它们.找到一个特别讨厌的代码片段,可以通过使用ORM来修复,并制作一个原型,显示可以简化的代码量.此外,愿意妥协.
如果他们不愿意为此做出让步,你需要问问自己这是否真的是你想要工作的地方.不是因为他们不会让你使用ORM(你可能没有),但因为他们不会听你的.你不能总是按自己的方式行事,但是你应该对开发过程有所了解.