我正在尝试获取所有对象,其中childs parentId等于我在的页面ID
这就是我想要做的事情:
public IEnumerable<Route> GetAll(int locationId)
{
_db.Configuration.ProxyCreationEnabled = false;
return _db.Routes.Include(o => o.ConnectionPointRoutes.Select(s => s.Segment))
.Include(o => o.ConnectionPointRoutes.Select(c => c.ConnectionPoint)
.Where( c => c.Location.LocationId == locationId)).ToList();
}
但我一直收到这个错误:
类型&#39; System.ArgumentException&#39;的例外情况发生在EntityFramework.dll中但未在用户代码中处理
附加信息:Include路径表达式必须引用a 在类型上定义的导航属性。使用虚线路径 引用导航属性和集合的Select运算符 导航属性。
有什么想法吗?
答案 0 :(得分:0)
我最终这样做了:
public IEnumerable<Route> GetAll(int locationId)
{
return _db.Routes
.Include(o => o.ConnectionPointRoutes.Select(s => s.Segment))
.Include(o => o.ConnectionPointRoutes.Select(c => c.ConnectionPoint))
.Where(c => c.ConnectionPointRoutes.Select(s => s.ConnectionPoint.Location)
.FirstOrDefault(q => q.LocationId == locationId).LocationId == locationId)
.ToList();
}