使用OR映射器有意义吗?使用OR-Mapper有意义吗?
我在堆栈溢出的推杆有这个问题,因为这是最好的地方,我知道,找到聪明的开发商愿意给他们的协助和意见。
我的推理如下:
1.)SQL属于哪里?
a)在我所从事的每一个专业项目中,数据的安全性都是关键要求。存储过程为控制访问和审计提供了一个自然的途径。
湾),在生产应用中的问题往往可以在表和存储过程之间没有扑灭新版本得到解决。
2.)如何控制生成的SQL?我相信分析树来生成高效的SQL。 我在SQL-Server和Oracle中优化SQL的经验相当丰富,但如果我再也不用这样做,就不会感到受骗。 :)
3)是什么,如果我从存储过程中让我的数据使用OR映射器的意义呢?
我已经使用存储库模式与本土通用数据访问层。 如果一个集合需要缓存,我将其缓存。我也有在一个小的CRUD应用程序上使用EF的经验,并有经验帮助调整出现性能问题的NHibernate应用程序。所以我有点偏见,但愿意学习。
在过去的几年里,我们都已经听到了很多尊敬的开发商提倡使用特定的OR映射器(实体框架,NHibernate的,等等)的。
有谁能告诉我为什么有人应该转向ORM进行主流项目的主流开发吗?
编辑:http://www.codinghorror.com/blog/2006/06/object-relational-mapping-is-the-vietnam-of-computer-science.html似乎对这个话题的讨论强,但它是过时的。
另一个编辑: 由于各自的性能优势以及能够将编程逻辑添加到数据更近的能力,每个人似乎都同意Stored Procedures将用于重型企业应用程序。
我看到支持OR映射器的最强论据是开发人员的生产力。
我怀疑ORM运动的一个大动力是开发人员偏好保持持久性不可知(不关心数据是否在内存中[除非缓存]或数据库)。
对于本地和小型Web应用程序,ORM似乎是非常出色的时间保护程序。
也许我看到的最好的建议是从client09:使用ORM的设置,但使用存储过程对数据库密集型的东西(AKA当ORM似乎是不够的)。
CSLA不是一个OR映射器。这是一个普遍的误解。 – 2011-03-17 18:49:30
也许这对你来说是最新的。 http://stackoverflow.com/questions/404083/is-orm-still-the-vietnam-of-computer-science – dkretz 2011-03-21 23:37:53