是否有Z.EntityFramework.Extensions的非商业替代品?

Mic*_*ael 9 c# sql-update sql-insert entity-framework-6 sql-delete

实体框架在批量插入/更新/删除操作上可能非常慢.即使是经常建议的关闭AutoDetectChanges和/或ValidateOnSaveEnabled的调整也并不总是有帮助.

我在NuGet上遇到过Z.EntityFramework.Extensions,但它似乎是一个商业产品,只能运行一段时间.

https://www.nuget.org/packages/Z.EntityFramework.Extensions/

到目前为止,我真的只需要BulkInsert(),BulkUpdate()和BulkDelete().

我的问题是:

有没有可靠的非商业库,它与Z.EntityFramework.Extensions几乎相同?

谢谢你的任何提示!

Jon*_*nan 10

免责声明:我是Entity Framework Extensions的所有者

你是对的.这是一种商业产品.

每个月都有免费试用版,但您必须为生产环境购买产品.

批量插入

对于BulkInsert,有一些免费的替代方案,但要小心,它们不支持所有继承和关联,不再支持:

免责声明:我是Entity Framework Plus的所有者

对于批量更新&&批量删除,您可以使用此库:

// 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 });
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,我们试图提供一些开源功能,但这种商业模式根本行不通。所以,是的,我们需要对这两个库进行一些区分。开源/免费项目大多数时候在一段时间后就无法得到支持,因为随着更多用户使用它,成本/时间/复杂性不断急剧增加。举例来说,去年,这个免费库花费了我们比其他库加起来还要多的时间来提供支持! (3认同)
  • 如果你登陆这里,这值得一看(有 MIT 许可证)--&gt; https://github.com/borisdj/EFCore.BulkExtensions (2认同)
  • @IdusOrtus EFCore.BulkExtensions 不再免费...企业的成本在 500-4000 美元之间:https://github.com/borisdj/EFCore.BulkExtensions/issues/1079 (2认同)