作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
<分区>
学徒期间,我用过NHibernate对于我主要自己编码和设计的一些较小的项目。现在,在开始一些更大的项目之前,讨论了如何设计数据访问以及是否使用 ORM 层。由于我仍处于学徒期并且仍然认为自己是企业编程的初学者,所以我并没有真正尝试插入我的观点,即使用数据库的对象关系映射器可以大大简化开发。开发团队的其他程序员比我更有经验,所以我想我会照他们说的去做。 :-)
但是,我不完全理解不使用 NHibernate 或类似项目的两个主要原因:
所以,当然我可以用很多 SELECT
等来构建我的数据访问层,但在这里我错过了自动连接、延迟加载代理类和较低维护工作量的优势如果表获得新列或列被重命名。 (更新大量 SELECT
、INSERT
和 UPDATE
查询与更新映射配置并可能重构业务类和 DTO。)
此外,如果您不太了解框架,使用 NHibernate 可能会遇到无法预料的问题。例如,这可能是信任 Table.hbm.xml,您在其中设置字符串的长度以自动验证。但是,我也可以想象在“简单的”基于 SqlConnection 查询的数据访问层中存在类似的错误。
最后,上面提到的那些论点真的是不将 ORM 用于基于数据库的重要企业应用程序的充分理由吗?他们/我可能错过了其他论点吗?
(我可能应该补充一点,我认为这就像第一个需要团队合作的“大型”基于 .NET/C# 的应用程序。良好实践在 Stack Overflow 上被视为非常正常,例如单元测试或持续集成, 到目前为止这里还不存在。)
我是一名优秀的程序员,十分优秀!