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

发布于 2024-08-13 05:32:18 字数 397 浏览 6 评论 0原文

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

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

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

I have to create a very high performance application. Currently, I am using Entity Framework for my data access layer. My application has to insert some communication data almost every second. I found that Entity Framework is slow; it has about 2 seconds delay to finish the SaveChanges() method.

I was thinking I have the following options:
1. Create the data access layer myself using ADO.NET; using stored procedures or ad-hoc queries
2. Use Enterprise Library Data access Layer
3. Use NHibernate
4. Use Repository Factory: http://pooyakhamooshi.blogspot.com/search?q=repository

What do you think? which one is quicker for inserting data? Which one is quicker to set up?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

只是我以为 2024-08-20 05:32:18

如果只是性能问题,则不可能直接使用 ADO.NET,因为您将使用的每个框架都会在幕后使用 ADO.NET。不过,性能提升必须是值得的,除非您要插入数百万条记录,否则不太值得。

我建议您查看一下应用程序的性能分析,看看为什么您的应用程序需要 2 秒来保存信息,它不应该那么慢。也许您遇到了 n + 1 性能问题。修复此问题可能会给您使用实体框架(或任何其他标准 DAL)所需的性能。把你的精力集中在这上面。

If it's only a question of performance, it's impossible to go past using ADO.NET directly because every framework that you will use will use ADO.NET under the scenes. The performance gain has to be worth it though, and unless you're inserting millions upon millions of records, it's not likely to be worth it.

I would suggest you look at profiling your application to see why your application is taking 2 seconds to save information, it shouldn't be that slow. Maybe you've got an n + 1 performance problem. Fixing this will probably give you the performance you want using Entity Framework (or any other standard DAL for that matter). Focus your efforts on that.

画▽骨i 2024-08-20 05:32:18

普通的 ADO.NET 再次取决于您如何实现它,但从性能角度来看,它应该是最好的,但需要更长的时间来开发它。

我发现这个网站非常有帮助: http://ormbattle.net/

BLToolkit 似乎是性能最好的免费 ORM 工具 -明智的;我还是第一次听说!

Plain ADO.NET again depends how you'd implement it but performance-wise it should be the best but would take longer to develop it.

I found this site very helpful: http://ormbattle.net/

BLToolkit seems to be the best free ORM tool performance-wise; it's the first time I've heard of it!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文