这是一个非常简单的问题,但“全部”对谷歌来说是一个糟糕的关键字,哈哈。
我想获取所有类别,其中没有任何产品更新,或者没有任何产品。
换句话说,获取所有类别,其所有产品尚未更新,包括所有尚未有任何产品的类别。
这是正确的表达方式吗?
var categs = context.Categories.Where(c => c.Products.All(x => !x.Updated));
这是一个非常简单的问题,但“全部”对谷歌来说是一个糟糕的关键字,哈哈。
我想获取所有类别,其中没有任何产品更新,或者没有任何产品。
换句话说,获取所有类别,其所有产品尚未更新,包括所有尚未有任何产品的类别。
这是正确的表达方式吗?
var categs = context.Categories.Where(c => c.Products.All(x => !x.Updated));
它返回true
。从文档(强调我的):
如果源序列的每个元素都通过指定谓词中的测试,或者序列为空,则返回值true ;否则为假。
(这也是合乎逻辑的结论。序列中的所有元素确实通过了谓词,就像我所有的女儿都超过 10 英尺高一样。我没有任何女儿的事实并没有改变陈述的真实性:)
有关它们如何工作的更多详细信息,请参阅我的Edulinq 博客文章。Any
All