这是我的查询:
var x = db
.Users
.Where(u => u.Locations.Any(l => searchedLocation.Counties.Any(c => c.LocationId == l.LocationId));
上下文:
Users
是IQueryable<User>
。 (EF对象集)searchedLocation
是Location
对象。 Counties
是ICollection<MiniLocation>
。 我正在尝试做的事情:
示例:
搜索纽约市(LocationId =1。County1LocationId = 2)
用户:Bob。地点:苏活区。 County1LocationId =2。County2 LocationId = 3。
那是一场比赛。 (因为Soho有一个LocationId为2的县,纽约市也是如此)
我收到错误:
有任何想法吗?
最佳答案
此MSDN page声明不支持此构造。您可以对.Net 3.5 Linq to Entities使用this method,以帮助替换Any
的使用。
关于c# - Entity Framework .Any()过滤器出现错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10441720/