2

フィルター処理されたリストに含まれる「GroupID」を持たない「グループ」のリストを返したい次のコンパイル済みクエリがあります。

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

ただし、次の実行時エラーが発生します。

タイプ 'System.Collections.Generic.List`1[[System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c261364e126]]' の指定されたパラメーター 'categories' は無効です。スカラー パラメーター (Int32、Decimal、Guid など) のみがサポートされています。

何か案は?

4

1 に答える 1

2

このクエリは EF 4 で正常に機能します。

EF 1 ではIEnumerable.Contains、L2E でサポートされていません ( の有無にかかわらずCompiledQuery)。ただし、回避策があります。Google "BuildContainsExpression`、またはこちらをご覧ください

于 2010-05-24T13:23:28.913 に答える