我需要经常使用EF将大量行放入表中。我的代码示例:
foreach (InboundEventDto newEvent in newEvents) // array of ~300 events, every ~10 seconds
{
AppEvent dbEvent = new AppEvent
{
UserId = user.UserId,
EventType = newEvent.EventType,
// etc
};
eventsToSave.Add(dbEvent);
}
_db.Configuration.AutoDetectChangesEnabled = false;
_db.AppEvents.AddRange(eventsToSave);
_db.SaveChanges();
_db.Configuration.AutoDetectChangesEnabled = true;
}
然而,在引擎盖下,AddRange
执行300个INSERTS
个人,这是非常慢的。我需要检索添加的ID,这些ID引用的库似乎无法处理。那里有什么(免费的)可以让我:
编辑以解释这不是重复:再次,寻找一个返回插入的ID的免费解决方案