Closed. 这个问题正在寻求书籍、工具、软件库等的推荐。不满足堆栈溢出指南 /help/closed-questions 。目前不接受答案。
实体框架在进行大量插入/更新/删除操作时可能会非常慢。即使经常建议的关闭 AutoDetectChanges 和/或 ValidateOnSaveEnabled 的调整也并不总是有帮助。
我在 NuGet 上遇到过 Z.EntityFramework.Extensions,但它似乎是一个商业产品,只能在一段时间内工作。
https://www.nuget.org/packages/Z.EntityFramework.Extensions/ https://www.nuget.org/packages/Z.EntityFramework.Extensions/
到目前为止,我实际上只需要 BulkInsert()、BulkUpdate() 和 BulkDelete()。
我的问题是:
是否有任何可靠的非商业库,其功能与 Z.EntityFramework.Extensions 几乎相同?
感谢您的任何提示!
免责声明 : 我是楼主实体框架扩展 http://entityframework-extensions.net/
你是对的。这是一个商业产品。
每个月都可以免费试用,但您必须购买用于生产环境的产品。
批量插入
对于 BulkInsert,有一些免费的替代方案,但要小心,它们不支持所有继承和关联,并且不再受支持:
https://www.nuget.org/packages/EntityFramework.BulkInsert-ef6 https://www.nuget.org/packages/EntityFramework.BulkInsert-ef6
https://github.com/MikaelEliasson/EntityFramework.Utilities https://github.com/MikaelEliasson/EntityFramework.Utilities
免责声明 : 我是楼主实体框架增强版 http://entityframework-plus.net/
对于批量更新和批量删除,您可以使用此库:
// DELETE all users which has been inactive for 2 years
ctx.Users.Where(x => x.LastLoginDate < DateTime.Now.AddYears(-2))
.Delete();
// UPDATE all users which has been inactive for 2 years
ctx.Users.Where(x => x.LastLoginDate < DateTime.Now.AddYears(-2))
.Update(x => new User() { IsSoftDeleted = 1 });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)