如何通过Entity Framework 6.2包含关系?

时间:2019-03-08 05:21:25

标签: c# entity-framework entity-framework-6 entity-framework-6.2

在使用Entity Framework 6.2 ORM时,我在ASP.NET MVC 5框架的顶部有一个用C#编写的项目。

我有以下三个实体模型

public class User
{
    public int Id { get; set;}
    public string name { get; set; }
    public int BranchId { get; set; }

    public virtual Branch Branch { get; set;}
}


public class Branch
{
    public int Id { get; set;}
    public string name { get; set; }
    public int SectionId { get; set; }

    public virtual Section Section { get; set;}
}

public class Section
{
    public int Id { get; set;}
    public string name { get; set; }
}

我希望能够渴望在用户和分支上加载分支关系。

我做了以下

var users = DataContext.Users.Where(x => x.Id < 100)
                 .Include(x => x.Branch)
                 .Inlcude(x => x.Branch.Section)
                 .ToList();

以上代码将users表连接到branches表。但是随后导致对sections表的100个单独查询获得所需的数据。

如何正确使用Entity Framework 6.2来获取用户数据以及分支和分支的部分,同时避免出现N + 1情况?

0 个答案:

没有答案