数据库.SaveChanges()将数据保存到数据库需要很长时间



所以我使用的是db。SaveChanges((将2500条记录保存到数据库中。它正在花费>1分钟插入所有记录。然后我在这里看到了一篇推荐ZEntityFramework的bulksert的帖子,但问题是你只能使用试用版1个月,除非你购买,否则我们不能在生产服务器中使用。我知道SQLBulkCopy是ADO中的一个选项,但我不想从EF切换。我试过数据库之类的东西。Configuration.AutoDetectChangesEnabled=false;但是插入数据仍然需要大约一分钟的时间。EF中是否有更快保存数据的选项?真的很感谢你的帮助。

EF Core添加了批处理支持。还有一些免费的替代方案可以让SqlBulkCopy与EF集合一起使用。

这是我很久以前写的一篇文章,它已经进入了很多不同的项目。我在GitHub 给了它一个新家

https://github.com/dbrownems/ObjectDataReader/blob/main/ObjectDataReader.cs

它非常快速和简单,只需将.cs文件添加到项目中,导入命名空间,就可以将实体集合转换为DataReader或DataTable,以便与SqlBulkCopy或类似文件一起使用。

最新更新