是否可以在 Linq 查询中比较两个 EntityCollection?
我尝试了这种方式:
from t in _bdd.Table
where (idList).All(id=> t.ids.Contains(id))
select i).FirstOrDefault()
其中 idList 和 id 都是实体集合
但我得到了一个不支持的异常:
"Unable to create a constant value of type (ID) Only primitive types ('such as Int32, String, and Guid') are supported in this context"
是否无法在单个 Linq 查询中比较两个列表?
首先,异常是由使用 where 子句中的本地集合 (idList) 作为源引起的。相反,您应该尝试切换它,以便它出现在右侧可能在某些 LINQ 方法中。
我认为这个查询会得到你想要的结果:
where t.ids.Count() == idList.Count() && t.ids.All(ids => idList.Contains(id))
此外,"选择 i"部分不清楚它选择了什么。代码片段中没有名为 i 的变量。