Мне нужно импортировать около 30 тыс. Строк из файла CSV в базу данных SQL, к сожалению, это занимает 20 минут.
Устранение неполадок с помощью профилировщика показывает, что DbSet.Add занимает больше всего времени, но почему?
У меня есть следующие классы Entity Framework Code-First:
public class Article
{
// About 20 properties, each property doesn't store excessive amounts of data
}
public class Database : DbContext
{
public DbSet<Article> Articles { get; set; }
}
Для каждого элемента моего цикла for:
db.Articles.Add(article);
Вне цикла for я делаю:
db.SaveChanges();
Он связан с моим локальным сервером SQLExpress, но я думаю, что ничего не написано, пока не будет вызван SaveChanges, поэтому я думаю, что сервер не будет проблемой ....