当前位置:  开发笔记 > 编程语言 > 正文

使用LINQ过滤掉null集合属性

如何解决《使用LINQ过滤掉null集合属性》经验,为你挑选了1个好方法。

我正在尝试根据属性提取列表的子集.该属性本身就是一个集合,我只对这个集合不为null的值感兴趣

我的代码是:

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

我收到以下运行时错误:

不能比较类型的元素 'System.Collections.Generic.ICollection`1 [WW2.Hold,二战,版本= 6.0.5848.30559文化=中性公钥=空]'.仅支持基本类型,枚举类型和实体类型.

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

这有什么问题,是否有明显的解决方案?



1> Servy..:

该系列永远不会出现null在EF中.它可能是空的,但它永远不会null.事实上,你甚至无法比较整个集合null,这正是错误告诉你的.如果您想获取该集合中包含任何项目的项目,请使用Any以确定该项目.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有