这是我的查询:
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。
例子:
搜索纽约市 (LocationId = 1. County1LocationId = 2)
用户:鲍勃。地点:苏活区。County1LocationId = 2。County2 LocationId = 3。
所以这是一场比赛。(因为 Soho 有一个 LocationId 为 2 的县,NYC 也是如此)
我收到的错误:
无法创建类型为“xxx.xxx.Locations.MiniLocation”的常量值。此上下文仅支持原始类型(“例如 Int32、String 和 Guid”)。
有任何想法吗?