如何实现这一目标有点困惑。
我有网站和用户生成的类别,我想返回关联用户生成类别的项目(如果有一个是活动的)。所以如果选择了一个类别,但是如果类别为null,那么我可以使用它,因为它没有对象来获取isActive属性。
var item = User.Items.Where(x => x.Categoires.FirstOrDefault(s => !s.isSystem).isActive)
所以我只需要检查第一个或默认值是否为空,任何帮助都会非常感激。
由于
答案 0 :(得分:7)
也许:
var item = User.Items
.Where(ui => ui.Categoires.Any(uic => !uic.isSystem && uic.isActive));
返回至少有一个活动的非系统类别的用户项。
类别是项目上的可选字段,类别的状态为 isActive,所以如果该项目有一个相关的类别,它不会 必须,然后该类别必须是活跃的。
然后你必须包含没有类别的项目(我假设它不能为空):
var item = User.Items
.Where(ui => !ui.Categoires.Any() || ui.Categoires.Any(uic => !uic.isSystem && uic.isActive));