Обычно я вставляю 35000 объектов в одну транзакцию:
using(var uow = new MyContext()){
for(int i = 1; i < 35000; i++) {
var o = new MyObject()...;
uow.MySet.Add(o);
}
uow.SaveChanges();
}
Это занимает вечность!
Если я использую базовый ObjectContex
t (с помощью IObjectAdapter
), он все равно медленный, но занимает около 20 секунд. Похоже, DbSet <>
выполняет линейный поиск, который занимает квадрат времени ...
Кто-нибудь еще видел эту проблему?