儿童父母对象

时间:2016-05-30 12:42:52

标签: c# entity-framework linq linq-to-sql

我正在尝试获取所有对象,其中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运算符   导航属性。

有什么想法吗?

1 个答案:

答案 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();
    }