Используя ASP.NET, я создаю инструмент администратора, которому требуется функция для импорта списка адресов электронной почты.После загрузки файла я хочу проверить существующие записи для любого из предоставленных адресов электронной почты.Для несуществующих адресов электронной почты я бы создал их, используя мой DAO.
В основном я хочу:
- Получить список писем
- Получить данные для существующих писем
- Создать данные для новых писем в db
- Возврат полных данных для всех писем в списке.
Поскольку я хочу знать, какое из писем существует заранее, моей первой мыслью было запросить в таблице все записи WHERE Email IN ('Email001FromFile', 'Email002FromFile', 'etc...')
, носписок может содержать тысячи адресов электронной почты, и я не уверен, что было бы неплохо указывать такое количество адресов электронной почты оператору IN.
Я также думал о циклическом просмотре списка и проверке записи.для каждого сообщения электронной почты, но это может привести к слишком большому количеству запросов.
Моя следующая мысль заключалась в создании временной таблицы для хранения списка и изменении предложения IN для использования временной таблицы, а не в виде явного спискаэлементы, но это потребует, чтобы я выполнял SQL или хранимую процедуру напрямую, что я не склонен делать, так как я использую NHibernate для доступа к своей БД.
ThХотя я использую ASP.NET (C #) и NHibernate, и любые ответы, специфичные для этого, были бы полезны, я просто ищу общие идеи о том, как справиться с этим сценарием.