[我有一个WebApi,我尝试使用EF Core Plus(https://www.nuget.org/packages/Z.EntityFramework.Plus.EFCore/)的AppDbContext.BulkInsertAsync(...)在其中插入数据库中的15.000+条记录。
不幸的是,这需要永远的时间,而且当我尝试仅插入10条记录时,它需要15-20秒的时间:
AppDbContext.BulkInsert(myEntities.Take(10));
但是我需要实现以下目标:
// Store the actual Trucks
List<MyEntity> myEntities = new List<MyEntity>(); // <-- Contains more than 15.000 objects
AppDbContext.BulkInsert(newTruckCosts); // <-- This takes forever...
MyEntity具有19个属性,并带有5个指向其他实体的外键。
我确实做了很多尝试,但是我确实被困在这里,特别是对于15.000+条记录来说,这永远都是永久的。
还会因为我的实体有几个外键引用我数据库中的其他实体而花费这么长时间吗?
此外,不知道这是否重要,我在Azure(基本层)、. NET Core和EntityFramework Core中使用SQL数据库。
因此,通过将Azure SQL数据库从基本层升级到标准S1层,实现了重大改进。
使用Basic Tier花费了很多时间,而现在使用Standard S1 Tier花费了大约15秒的时间,在我看来这是完全可以的。