Bu makaleyi yığın ekleri Fastest Way of Inserting in Entity Framework yapmayla ilgili faydalı buldum, ancak çocuk varlıklarla da kayıt eklemenin daha etkili bir yolu olup olmadığını merak ediyorum. ancak yaklaşık 40 kayıtları Her biri çok sayıda çocuk için hala yaklaşık 60 saniye olduğunuBirçok üst ve alt kayıt eklemek için en hızlı yol
Ben BulkInsert deneme oldum ve onu başarımı ciddi biraz geliştirmek gibi görünüyor:
Benim varlıklar böyledir varlıklar. Binlerce kayıt eklemem gereken vakalarım var ve aşırı derecede yavaşlayabilir.
using (var transactionScope = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 15, 0)))
{
using (var db = new MyDBContext())
{
db.Configuration.AutoDetectChangesEnabled = false;
var entities = db.ScenarioCategory.AddRange(categories);
db.BulkInsert(entities);
db.SaveChanges();
}
transactionScope.Complete();
}
Hem "AddRange" hem de "BulkInsert" öğesini neden arıyorsunuz? Bunlardan birini seçmelisiniz, çünkü ikisi de aynı işlemi yapıyorlar .. – shlatchz
@SteveGreene BulkInsert'ten: "DbContext ile bulk inserti birleştirmek için TransactionScope kullanılmalıdır." – tqrecords