![](/img/trans.png)
[英]linq how to select a parent with a child collection that contains all of an array (or list) of values
[英]linq how to select a parent with a child collection that contains one or many of an array (or list) of values
这似乎很容易
var orx = gg.Where(x=>x.ProductAttributes.Any (pa =>pa.AttributeId == "home"));
当产品属性的值为“home”时返回gg
我需要它返回where和gg有一个数组的产品属性值,即
var orx = gg.Where(x=>x.ProductAttributes.Any (pa =>pa.AttributeId in "home,work"));
关于什么...
string[] values = new string[] { "home", "work" };
var orx = gg.Where(x => x.ProductAttributes.Any(pa => values.Contains(pa.AttributeId));
甚至"home,work".Contains(pa.AttributeId)
。如果您的列表与您的示例一样可靠,则"home,work".Contains(pa.AttributeId)
应该有效。 (除非你能确保AttributeId不是任何列表单词的子串,例如“我”,否则我不推荐这个。
var orx = gg.Where(x => x.ProductAttributes
.Any(pa =>
array.Containspa(pa.AttributeId));
var orx = gg.Where(x => x.ProductAttributes
.Any(pa =>
"home, work".Split(',').Contains(pa.AttributeId));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.