【问题标题】:Entity Framework Throws Error With Functions on a View实体框架在视图上引发函数错误
【发布时间】:2013-09-18 05:35:52
【问题描述】:

我有一个存储库,它有一个方法,例如,我可以在其中传递函数以进一步查询数据;

List<Household> households = repository.AllIncluding(i => i.Id == "1419683").ToList();

当我连接到表时,此调用有效,但当我连接到视图时,它会引发以下错误:包含路径表达式必须引用在类型上定义的导航属性。对参考导航属性使用虚线路径,对集合导航属性使用 Select 运算符。

我认为这可能与我在桌子上的关系有关,但即使我查询 Id(我知道我可以使用 find)它仍然会引发错误。请帮忙!?

这是我的完整方法:

    public virtual IQueryable<Household> AllIncluding(params Expression<Func<Household, object>>[] includeProperties)
    {
        IQueryable<Household> query = _dbContext.Households;
        foreach (var includeProperty in includeProperties)
        {
            query = query.Include(includeProperty);
        }
        return query;
    }

【问题讨论】:

    标签: c# entity-framework repository entity-framework-5


    【解决方案1】:

    不是这个

    List<Household> households = repository.AllIncluding(i => i.Id == "1419683").ToList();
    

    试试这个

    var households = repository.AllIncluding().Where(i => i.Id == "1419683").ToList();
    

    另一件事是.Include 接受导航属性,这意味着链接表。例如,如果你有 scooters 作为链接实体,那么你可以做这样的事情

    var households = repository.AllIncluding(x => x.Scooters).Where(i => i.Id == "1419683").ToList();
    

    【讨论】:

      猜你喜欢
      • 2019-04-29
      • 1970-01-01
      • 2013-09-26
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 2010-11-17
      • 2021-01-22
      相关资源
      最近更新 更多