代码之家  ›  专栏  ›  技术社区  ›  Chris Gutierrez

.NET实体查询

  •  0
  • Chris Gutierrez  · 技术社区  · 15 年前

    我对这个实体查询有一个问题,希望能得到一些帮助。

    总的来说,我要做的是查询 GoalNotes 表以及包括 Employee 每个注释的参考。这个 目标注释 表有一个与之相关的外键 员工 表。

    然后我试图查询 守门员 基于特定目标ID的表。 守门员 表与 Goal 表也是如此。

    我有三张表,如下所示:

    员工 身份证件, 第一名, 姓

    守门员 身份证件, 目标, 说明, 雇员, 创造DT

    目标 身份证件, 描述, 创造DT

    我尝试使用的查询如下所示:

    public List<GoalNotes> LoadGoalNotes(int goalId)
    {
        var notes = from note in GoalNotes.Include("Employee")
                    where Employee.Any(e => e.Id == note.Employee.Id)
                    where note.Goal.Id == goalId
                    orderby note.CreatedDt descending
                    select note;
    
        return notes.ToList();
    }
    

    此方法存在于包含我的实体对象的分部类的EntityContext文件中。 问题似乎在于我如何尝试包括员工推荐信。如果删除 where Employee.Any(e => e.Id == note.Employee.Id) 行(不包括员工参考)

    事先谢谢!

    1 回复  |  直到 15 年前
        1
  •  2
  •   Craig Stuntz    15 年前

    要包括员工,您只需致电 Include --没有其他内容:

    var notes = from note in GoalNotes.Include("Employee")
                where note.Goal.Id == goalId
                orderby note.CreatedDt descending
                select note;
    

    英孚已经了解了 GoalNote Employee (它在EDMX中),您不需要在编写的每个查询中复制此信息。

    推荐文章