比较<Class> LinqToEntity 查询中的实体集合



是否可以在 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 的变量。

相关内容

  • 没有找到相关文章

最新更新