Примечание. Приложение C # 3.5 вызывает БД SQL Server 2005 на удаленном сервере.
Я разрабатываю двухэтапный процесс.
1) Я ищу в службе индексирования Windows список файлов, содержащих данное слово, например «Боб».
2) Затем мне нужно получить список строк из таблицы DOCUMENT в базе данных SQL, передав список имен файлов из службы индексирования.
В данный момент я получаю список из службы индексирования И все строки из таблицы DOCUMENT, затем фильтрую их в коде. Это не практично, поскольку существует более 10 000 документов и база данных находится через брандмауэр.
Я подумал о создании запроса, например:
ВЫБРАТЬ DocName ИЗ Документов, ГДЕ DocName IN ({список файлов из службы индексирования})
... но, учитывая, что список файлов может быть тысяч, он не будет работать.
Итак, что я могу сделать лучше всего? Я не хочу запрашивать БД для всех 10 000+ строк и передавать их обратно через брандмауэр (это занимает 10 минут). Мне как-то нужно передать список имен файлов, извлеченных из службы индексирования.
Как будет работать linq в этом сценарии?
Любой совет с благодарностью.