我正在尝试根据属性提取列表的子集。该属性本身就是一个集合,我只对该集合不为 null 的值感兴趣
我的代码是:
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)
这里有什么问题,是否有明显的解决方案?
请您参考如下方法:
集合在 EF 中永远不会是 null。它可能是空,但它永远不会是null。事实上,您甚至无法将整个集合与 null 进行比较,这正是错误告诉您的内容。如果您想获取该集合中包含任何项目的项目,请使用 Any 来确定。
