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