Как мне ускорить DbSet.Add ()?

Мне нужно импортировать около 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, так что я думаю, что сервер не будет проблемой ....

30
задан Marc Gravell 4 December 2010 в 20:14
поделиться