我首先使用实体框架代码。我有一个集合让我们说:
IDbSet<A> As {get;set;}
A 是这样一个对象:
public class A
{
public int Id {get;set;}
public string name {get;set};
....
public IList<B> Bs {get;set;}
}
而 B 是:
public clas B
{
public int Id {get;set;}
public string name {get;set;}
}
使用 linq 我想过滤在其 IList 中包含 B.name == "something"的 As 那么如何实现呢?我正在尝试做类似的事情:
context.As.Where(a => a.Bs.contains(....));
最佳答案
您可以使用 Any()
context.As.Where(a => a.Bs.Any(b => b.name == "something").ToList();
它接受一个谓词并在匹配时返回使其高效。
关于c# - ef 4.1 LINQ 将元素过滤到集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16814859/