我正在寻找一个全面的ORM来轻松处理.NET的并发性。它也应该是线程安全的。
有什么建议吗?请详细说明为什么选择这种特殊的ORM。
答案 0 :(得分:9)
今天使用的最好的东西仍然是NHibernate。它已经存在时间最长(参见Java的Hibernate)并且完成它。此外,现在有许多工具可以更轻松地使用它。它在功能方面使LINQ to SQL脱颖而出(尽管不易使用)。版本1中的实体框架尚未准备好使用。下一个版本(Entity Framework 4.0)会好得多,一旦它出来就值得一看。
答案 1 :(得分:2)
我不明白它的线程安全部分。假设你指的是db访问我会说Nhibernate做了最好的恕我直言(虽然处理并发是任何ORM的基础)。
理想情况下,我希望生活在一个每个人都能轮到馅饼的世界里。不幸的是,这种情况不会发生,直到那时我才会尝试使用Nhibernate these strategies之一。
乐观,肮脏, 版本化或悲观
根据您的需要应用这些 您对ORM的选择应基于其背后的社区和生态系统的活跃程度,而不仅仅取决于其功能集(尽管这是社区的一个因素)。
此外,请查看NHProf,Linq to NH,Nhibernate Search和Nhibernate Validator
答案 2 :(得分:1)
如果你能负担得起IdeaBlade的DevForce是一个超越ORM工具的复杂框架。这是我对LOB企业应用程序的建议。
是一个全面的平台,支持n层环境的企业.NET开发和部署。提供复杂的对象持久性,客户端缓存,高级数据绑定,业务规则验证,对脱机/断开连接操作的支持,以及对发布和使用Web服务的支持,以及其众多功能。它还包括业务对象服务器(BOS),这是一种应用程序服务器,可提供可扩展性,安全性,并支持跨Internet的.NET应用程序的n层部署。
答案 3 :(得分:1)
LLBLGen Pro是其中之一。我在我的项目中使用它并且它运行良好。我无法比较LLBLGen pro可用的其他O / R映射器,因为我第一次使用O / R Mapper。这不是免费的,但我认为花钱是好事。
这些链接可能会有所帮助。
http://weblogs.asp.net/fbouma/archive/2004/03/06/85125.aspx http://www.llblgen.com/defaultgeneric.aspx
但请告诉我们您为项目选择哪种O / R Mapper。这将有助于我们在未来做出决定。