Импортируйте миллионы строк с EF Core - PullRequest
0 голосов
/ 29 августа 2018

Много похожих вопросов, но не могу найти ответ, который я хочу. Я пытаюсь импортировать миллионы в режиме онлайн, и каждая строка содержит информацию о нескольких основных объектах EF (основной с 50 полями и 3 связанных объекта с несколькими полями) У меня есть тонны дубликатов, что означает, что мне нужно всегда проверять, есть ли здесь данные, прежде чем вставлять или получать свойства FK / навигации.

Это довольно медленно. Я обрабатываю около 1000 строк в минуту. Я сделал несколько вещей ниже, но есть ли что-то еще очевидное, что я могу сделать?

db.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;

У меня есть словарь кэша. Словарь с небольшой таблицей, в которой перечислены все мои 50 пользователей, чтобы не запрашивать базу данных в каждой строке, чтобы получить свойство навигации пользователя.

Запуск исполняемых файлов за пределами VS незначительно улучшил производительность.

...