Это до EF 6. В моей компании есть процесс, который работает со всеми остальными нашими клиентами. Процесс открывает соединение с базой данных клиентов, одновременно считывает 1000 записей и фиксирует это в нашей базе данных.
Для этого клиента мы прекрасно читаем и фиксируем первые 1000 записей. Когда он начинает читать снова, я получаю сообщение «Основной провайдер не удалось открыть». Я понимаю, что транзакции EF открываются и закрываются для каждого чтения, поэтому, когда он пытается повторно открыть соединение для следующего чтения, происходит сбой.
Подробности: мы подключаемся через VPN к клиентской базе данных.
Поток кода:
connection.open()
create datareader
while datareader.read()
get 1000 records
bulk commit
db.SaveChanges
get next 1000 records
and so on until it gets all records
После первого SaveChanges, когда мы получаем ошибку.
Любая помощь приветствуется.