Entity framework 6. Запись n данных в бд

250
17 апреля 2017, 02:45

Только начал постигать дзэн (Entity). Нужно было записать в простенькую бд из одной таблички порядка 20000 данных. написал не хитрую реализацию, но проблемка в том что на заполнение уходит около 3(!!!) минут. Так вот назрел вопрос, это вообще законно?) Или может (скорее всего так и есть)) проблема во мне?

         while (i != 20000)
        {
            mydb.Tables.Add(new Table {...});
            i++;
        }
Answer 1

1) Зависит от того, как часто ты вызываешь SaveChanges()

Если ты вызываешь сохранение для каждой записи, то производительность очень низкая.

См. тут

2) Может быть сетевая проблема, если СУБД находится на другой машине.

3)Сам по себе EF тормозная штука для операций над большим кол-вом данных.

Например, ручная вставка через какой-нибудь BulkCopy будет быстрее.

READ ALSO
Вывод символов из строки C# [требует правки]

Вывод символов из строки C# [требует правки]

Дана строкаВывести первые три символа и последние три символа, если длина строки больше 5

208
Работа с множеством событий от объектов одного типа

Работа с множеством событий от объектов одного типа

Допустим, есть некоторая коллекция объектов одного типа и хотел бы получать события от каждого объекта

186