【问题标题】:EF repository Query method, how to mention other entity in expression?EF存储库查询方法,如何在表达式中提及其他实体?
【发布时间】:2012-08-09 02:18:21
【问题描述】:

在 EF 通用存储库中,我的查询方法如下:

public IEnumerable<T> Query(Expression<Func<T, bool>> filter)
    {
        return objectSet.Where(filter);
    }

我已经使用这种方法来过滤数据,例如:

Repository.Query(a=>a.EntityId==selectedId);

下面是我的表格结构。

  1. 实体(ID、名称)
  2. 标题(Id、Name、EntityId)
  3. 级别(ID、名称、TitleId)

我知道 EntityId 并且基于我想从 Level 表中过滤数据,但 Entity 和 Levle 表没有直接连接,Level 正在附加它们。

请指导我应该如何编写 lambda 表达式以传递给 Query 方法。

谢谢

编辑 ObjectSet 类型为 Level。

【问题讨论】:

    标签: c# .net linq entity-framework linq-to-entities


    【解决方案1】:

    假设您为导航属性使用标准名称,您应该可以这样做:

    Repository.Query(level => level.Title.Entity.EntityId == selectedId);
    

    如果没有,您可以发布您的模型吗?

    【讨论】:

      猜你喜欢
      • 2011-07-19
      • 1970-01-01
      • 2015-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-09
      • 1970-01-01
      • 2017-04-21
      相关资源
      最近更新 更多