注意:pseduo代码和虚假思考的现场类/属性......以保护无辜的
我正在尝试检索Person
个实例,其中此人具有特定名称...作为IQueryable
结果。
鉴于以下代码......
public class Person
{
public ICollection<PersonDetails> PersonDetails { get; set; }
}
public class PersonDetails
{
public string Name { get; set; }
}
如何检索名为“Fred”的Person
?
我正在尝试(失败了)......
public static IQueryable<Person> WithName(this IQueryable<Person> value,
string name)
{
return value.Where(x => x.PersonDetails.Where(y => y.Name == name));
}
..那不会编译。
任何线索,偷看?
答案 0 :(得分:12)
尝试Any
而不是第二个Where
:
public static IQueryable<Person> WithName(this IQueryable<Person> value,
string name)
{
return value.Where(x => x.PersonDetails.Any(y => y.Name == name));
}