У меня есть метод в моем слое доступа к данным, который обрабатывает импорт файла.В таком файле может быть много записей, которые необходимо вставить в базу данных.Этот метод уже содержит определенные «логические или бизнес-правила», и его необходимо добавить еще.Проблема в том, что если я переместу это из уровня доступа к данным, каждая запись должна быть вставлена отдельно с новым соединением.Очевидно, что это не очень хорошо при вставке тысяч записей.(нет гарантии, что соединения объединены).Так что я отчасти заблудился, как решить эту проблему.Уровень слоя доступа к данным становится все больше и больше, и с точки зрения хорошего дизайна, возможно, он уже нарушает несколько правил.
Единственное, что мне приходит в голову, это файл производитель-потребитель -> бизнес-логика импортирует файл, выполняет проверку и помещаетпроверенные записи в очередь.Отдельный поток (уровень доступа к данным) читает из этой очереди.
Есть еще идеи?Есть ли шаблон для таких проблем?