使用LINQ筛选出null集合属性

本文关键字:集合 属性 null LINQ 筛选 使用 | 更新日期: 2023-09-27 18:29:01

我正在尝试基于属性提取列表的子集。这个属性本身就是一个集合,我只对这个集合不是空的值感兴趣

我的代码是:

var subGroupCollection = groupContext.SubGroups.Where(sg => sg.Holds != null).ToList();

我得到以下运行时错误:

无法比较类型为"System.Collections.Generic.ICollection `1[[WW2.Hold,WW2,Version=6.0.5848.30559,Culture=neutral,PublicKeyToken=null]]"的元素。仅支持基元类型、枚举类型和实体类型

"Holds"是集合属性的名称(这是Hold对象的HashSet)

这里的问题是什么?有明显的解决方案吗?

使用LINQ筛选出null集合属性

集合在EF中永远不会是null。它可能是,但永远不会是null。事实上,您甚至无法将整个集合与null进行比较,这正是错误告诉您的。如果要获取集合中包含任何项目的项目,请使用Any来确定。

相关文章: