例如,在this example中,Employee和Address具有多对多关系,而Employee
类具有属性
public virtual IList<Address> Addresses { get; set; }
在此示例中,如何创建linq查询以将X
作为其地址之一的所有Employee(X是Address
变量)?
我能想到:
q => q.Where(employee => employee.Addresses.IndexOf(X)>=0);
但我认为这不会得到优化,而且会非常昂贵。
答案 0 :(得分:3)
试试这个:
q => q.Where(e => e.Addresses.Any(<your condition goes here>))
例如
q => q.Where(e => e.Addresses.Any(a => a.City == "Moscow"))