如果您要激发为什么要将ORM用于管理/客户的"优点",原因是什么?
尝试并保持每个答案的一个原因,以便我们可以看到被投票的最佳理由
在我的学徒期间,我已经将NHibernate用于一些较小的项目,我自己编写和设计.现在,在开始一个更大的项目之前,讨论产生了如何设计数据访问以及是否使用ORM层.由于我仍处于学徒阶段,并且仍然认为自己是企业编程的初学者,我并没有真正尝试推动我的观点,即使用对象关系映射器到数据库可以大大简化开发.开发团队中的其他程序员比我经验丰富,所以我想我会按照他们的说法去做.:-)
但是,我不完全理解不使用NHibernate或类似项目的两个主要原因:
所以,当然我可以用很多SELECTs等构建我的数据访问层,但是在这里我会错过自动连接,延迟加载代理类的优势以及如果表获得新列或列获得更低的维护工作量重命名.(更新众多SELECT,INSERT并且UPDATE查询与更新映射配置,并可能重构业务类和DTO的.)
此外,如果您不熟悉框架,使用NHibernate可能会遇到无法预料的问题.例如,这可能是信任Table.hbm.xml,您可以在其中设置字符串的长度以自动验证.但是,我也可以想象一下基于"简单"SqlConnection查询的数据访问层中的类似错误.
最后,上面提到的那些论点真的是不利用ORM用于基于数据库的非平凡企业应用程序的理由吗?他/我可能错过了其他可能的争论吗?
(我应该补充一点,我认为这就像第一个基于.NET/C#的"大型"应用程序需要团队合作.在Stack Overflow上被认为非常正常的良好实践,例如单元测试或持续集成,都是非 - 到现在为止.)
我正在开始一个新的ASP.Net MVC项目,并想知道什么是最好的模型方法.
大多数演示推荐LinqToSQL,但我知道微软并没有真正增强这个产品,而是更多地关注实体框架.
我喜欢Subsonic方法,但我认为这将使用版本3的MVC构建,但是没有关于这个项目的开发阶段的消息所以我有点担心使用版本2,如果有一个新的很快就会发布
我听说过NHibernate和Castle Record,但对这些并没有任何经验,并且已经听过很多关于两者的优点/缺点.
强烈推荐任何帮助!