我想学习ORM,我想知道哪个对启动有利;Linq to SQL还是Nhibernate。考虑到时间,适应能力...等
发布于 2009-11-16 00:41:48
要问自己的一个重要问题是,您是否可以接受对SQL Server的依赖关系。例如,数据库后端是否会更改为Oracle?LINQ to SQL与SQL Server是强耦合的,而NHibernate并非如此,我并不是说这是一个很糟糕的限制,但考虑到这一点很重要。
在过去的几年里,NHibernate确实取得了长足的进步。例如,我真的很喜欢流畅的NHibernate,但这并不是说LINQ to SQL是有限的。我喜欢与Visual Studio的集成,它已经证明了自己完全有能力处理一致的负载(例如,Stack Overflow使用LINQ to SQL )。
与普遍的看法相反,LINQ to SQL is not dead。
编辑:要问自己的另一个重要问题是,您是否想要更改域模型。LINQ to SQL将对象直接映射到表。另一方面,NHibernate允许间接层。顺便说一句,实体框架也是如此。
发布于 2009-11-16 00:41:24
我会选择NHibernate,因为有一个很好的开源社区支持它,回答有关它的问题,等等。当您的产品变得更大、更复杂时,您将会欣赏到NH的强大和灵活性。最后,Linq- to -sql不在MS的长期计划中,因为他们希望您使用Entity Framework,因此您可能会在那里使用一种死胡同的技术。
发布于 2009-11-16 00:28:58
如果您没有使用ORMs的经验,那么Linq to SQL比NHibernate更容易学习。它还与Visual Studio进行了更好的集成。
https://stackoverflow.com/questions/1738005
复制相似问题