哪种创建数据访问层的方法具有最高性能?

时间:2009-11-26 23:29:07

标签: nhibernate entity-framework enterprise

我必须创建一个非常高性能的应用程序。目前,我正在使用Entity Framework作为我的数据访问层。我的应用程序几乎每秒都要插入一些通信数据。我发现实体框架很慢;它有大约2秒的延迟来完成SaveChanges()方法。

我在想我有以下选择: 1.使用ADO.NET自己创建数据访问层;使用存储过程或即席查询 2.使用企业库数据访问层 3.使用NHibernate 4.使用存储库工厂:http://pooyakhamooshi.blogspot.com/search?q=repository

你怎么看?哪一个插入数据更快?哪一个设置得更快?

2 个答案:

答案 0 :(得分:3)

如果只是性能问题,则不可能直接使用ADO.NET,因为您将使用的每个框架都将在场景中使用ADO.NET。虽然性能提升是值得的,除非你在数百万条记录中插入数百万条记录,否则它不值得。

我建议你看看你的应用程序的分析,看看为什么你的应用程序需要2秒钟来保存信息,它应该不会那么慢。也许你有一个n + 1性能问题。修复此问题可能会为您提供使用Entity Framework(或任何其他标准DAL)所需的性能。专注于此。

答案 1 :(得分:1)

普通的ADO.NET再次取决于你如何实现它,但性能方面它应该是最好的,但开发它需要更长的时间。

我发现此网站非常有用:http://ormbattle.net/

BLToolkit似乎是性能最好的免费ORM工具;这是我第一次听说过它!