我有一个关于c#和LINQ的问题:
我有一个项(父级),可以有多个 custom_fields (子级)。 custom_fields类有3个值:ID,Name,Value。
我想根据custom_field进行过滤。例如,custom_field颜色的值为红色的所有项目。
我在如何进行LINQ查询方面有点迷失。我试过以下,但这是错误的。
items = items.Where(x => x.custom_fields.Where(y => y.Name == "color")
.Any(z => z.Value == "red")
);
如何编写正确的查询?
提前谢谢!
答案 0 :(得分:6)
如果您想将所有红色项目都纳入您的结果
String selectAll = Keys.chord(Keys.CONTROL, "a");
WebElement element = driver.findElement(By.cssSelector(".notebook-rte-prompt.active .rte-editbox"));
element.click();
element.sendKeys(selectAll);
应该是
.Where(x => x.custom_fields.Where(y => y.Name == "color").Any(z => z.Value == "red"));
答案 1 :(得分:3)
假设项目为IEnumerable<T>
var redItems =
from item in items
from custom_field in items.custom_fields
where custom_field.Name == "color" && custom_field.Value == "red"
select item;