Я имеющие проблемы фильтрации/присоединение в памяти списков объектов с Linq к объектам, а также за то, что, как правило, тривиальным запрос SQL ...Linq к объектам Возьмутся коллекция и фильтрации
Сценарий:
Имейте json-сервис (.asmx), позволяющий клиенту выполнить вызов БД через Entity Framework, завернутый sproc (импорт функции). В этом случае [Веб-метод] «GetArticles (int [] TagIds)»
Теперь я хочу кэшировать эти данные, чтобы сохранять вызовы БД и применять фильтры к кешированной коллекции.
данные:
- Многие ко многим отношений с 2 субъектами: Статьи Метки
- Статей могут иметь много тэгов, и метки могут быть связаны со многими статьями, (так дополнительной таблица ссылки «ArticlesTags»)
Параметр фильтра веб-службы будет содержать массив TagId, который может иметь возвращенные статьи.
Так что мой базовый SQL-запрос будет выглядеть так
SELECT DISTINCT a.*
FROM Article a INNER JOIN ArticlesTags at ON a.ArticleId = at.ArticleId
WHERE at.TagId in (0, 1.. 'list of tag ids')
Я ударяя ряд коряг -
EF завернутые sprocs не позволяют SQL 2008 (таблица значений параметров), так что я не могу перейдите в фильтр списка TagId в предпочтительном формате. Я нашел пример, когда два набора результатов могут быть возвращены из одного вызова sproc, который может обойти это. Итак, как только у меня есть две коллекции (статьи и статьи), которые я намерен кэшировать, как можно объединить и затем фильтровать на основе возможного параметра фильтра TagId с помощью linq-to-objects?
Отличная работа, именно то, что я искал! –