我正在寻找支持代码优先数据建模(如 Microsoft Entity Framework)的 .NET ORM。我之前使用过 Entity Framework,但遇到了一些性能问题。所以我也使用 BLToolkit 作为数据访问层和由 T-SQL 直接创建的数据库(一个中等规模的项目)。这个解决方案有很好的性能,但是在更新数据库表之后更新代码模型非常烦人。
因此,如果有人分享使用 ORM 和代码优先数据建模方法的经验,那就太好了。
我正在寻找支持代码优先数据建模(如 Microsoft Entity Framework)的 .NET ORM。我之前使用过 Entity Framework,但遇到了一些性能问题。所以我也使用 BLToolkit 作为数据访问层和由 T-SQL 直接创建的数据库(一个中等规模的项目)。这个解决方案有很好的性能,但是在更新数据库表之后更新代码模型非常烦人。
因此,如果有人分享使用 ORM 和代码优先数据建模方法的经验,那就太好了。
如果您在使用 Entity Framework 时遇到性能问题,您应该尝试找出原因,而不仅仅是假设 EF 很糟糕,并且不再使用它。您可能一直在做一些简单的事情,只需进行一些更改即可解决。
此外,EF5 还显着提高了性能。但是你需要 VS 2012 来利用这些(.net 4 上的 EF5 没有得到性能改进)。
nHibernate 当然是一个可行的选择(尤其是 Fluent nHibernate),但我发现它比 EF 做更多的工作,因为 EF 的支持工具要好得多。即使先使用代码,也可以轻而易举地使用 EF Power Tools 对现有数据模型进行逆向工程以先编码。
切换到另一个框架也不能保证性能改进,因为使用 ORM 需要从根本上转变思维。如果您不注意,很容易让 ORM 生成非常糟糕的代码。