jco*_*lum 4 nhibernate orm entity-framework linq-to-sql
这里有很多问题要问'我应该用什么样的ORM用x和y',但我没有看到任何特别询问如何选择一个.相关:为什么要使用ORM?,我应该将什么ORM用于ASP.Net MVC项目?,有没有充分的理由不使用ORM?和更多.
世界上有很多ORM.我想知道如何比较它们.我听说过活动记录模型和领域模型之类的东西,我不确定这些是什么意思.那么我可以用一套好的标准来比较一个ORM到另一个ORM?
如果您想知道,我们的环境是C#,MVC,SQL Server.
(我尽可能以非.NET特定的方式回答.)
选择ORM的最重要标准是您的业务需求.
我想说另一个重要标准是你对ORM未来可持续性的信念.微软每两年左右就会改变他们的数据访问技术,所以我想说实体框架的未来还不清楚.NHibernate可能遵循与NUnit相同的路径 - 当微软发布MSTest时,NUnit已经萎缩了一段时间,但现在NUnit又有动力,因为微软主要忽略了MSTest.你必须在这里得出你自己的结论,现在微软似乎给了实体框架一些爱,但据我所知,它仍然没有很好地处理枚举,我没有听到何时可能会改变.
另一个标准是您是否偏好开源技术或Microsoft技术或商业第三方技术.
在某些时候,ORM的功能将很重要.您可能需要使用多个ORM对场景进行原型设计,以确定ORM的功能(和/或性能)是否符合您的要求.NHibernate是.NET领域中功能最丰富的ORM.
您需要支持某个数据库供应商吗?选择支持您关注的ORM的ORM.SQL Server是.NET世界中受支持最广泛的数据库供应商.
您是首选代码还是数据库优先设计?选择支持您关注的ORM的ORM.
您是否对活动记录与存储库之间存在偏好?选择支持您关注的ORM的ORM.
我回答了下面关于选择.NET ORM的问题,部分是通过提供人们询问他们应该在StackOverflow上使用哪个.NET ORM的链接.阅读其他答案可以获得很多价值.
没有一个正确的答案也没有一套正确的选择标准.您的业务需求是最重要的考虑因素.
| 归档时间: |
|
| 查看次数: |
321 次 |
| 最近记录: |