Список фильтров как параметр в скомпилированном запросе - PullRequest
2 голосов
/ 24 мая 2010

У меня есть следующий скомпилированный запрос, который я хочу вернуть список "групп", которые не имеют "GroupID", который содержится в отфильтрованном списке:

CompiledQuery.Compile(ConfigEntities contexty, List<int> list) =>
    from c in context.Groups
    where (!csList.Contains(c.GroupID))
    select c).ToList()

Однако я получаю следующую ошибку во время выполнения:

Указанный параметр 'category' типа 'System.Collections.Generic.List`1 [[System.Int32, mscorlib, версия = 2.0.0.0, Culture = нейтральный, PublicKeyToken = b77a5c261364e126]]' недопустим. Поддерживаются только скалярные параметры (такие как Int32, Decimal и Guid).

Есть идеи?

1 Ответ

2 голосов
/ 24 мая 2010

Этот запрос будет хорошо работать в EF 4.

В EF 1 IEnumerable.Contains не поддерживается в L2E (с CompiledQuery или без него). Есть обходной путь, хотя; Google "BuildContainsExpression` или смотрите здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...