У меня есть приложение, которое получает большой объем данных, которые я хочу сохранить в базе данных. Моя текущая стратегия - запускать асинхронный вызов (BeginExecuteNonQuery) с каждой записью, когда она будет готова. Я использую асинхронный вызов для обеспечения бесперебойной работы остальной части приложения.
Проблема, с которой я столкнулся, заключается в том, что по мере увеличения объема данных я, в конце концов, дохожу до того, что пытаюсь запустить команду отключения соединения, пока оно еще используется. Я вижу два возможных варианта:
- Буферизуйте ожидающие данные самостоятельно, пока существующая команда не будет завершена.
- При необходимости откройте несколько соединений.
Я не уверен, какой из этих вариантов лучше, или на самом деле есть лучший способ. Вариант 1, вероятно, приведет к увеличению и увеличению размера моего буфера, тогда как вариант 2 может быть очень плохим - я просто не знаю.
Любая помощь будет оценена.