我有以下编译查询,我想返回一个“组”列表,这些“组”没有包含在过滤列表中的“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)。
有什么想法吗?
答案 0 :(得分:2)
此查询在EF 4中可以正常工作。
在EF 1中,L2E不支持IEnumerable.Contains
(有或没有CompiledQuery
)。但是有一个解决方法; Google“BuildContainsExpression”或look here。