Как включить отношение через isn Entity Framework 6.2? - PullRequest
0 голосов
/ 08 марта 2019

У меня есть проект, написанный с C# поверх платформы ASP.NET MVC 5 при использовании Entity Framework 6.2 ORM.

У меня есть следующие три модели сущностей

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.Но затем вызывает 100 отдельных запросов к таблице разделов для получения нужных данных.

Как правильно использовать Entity Framework 6.2 для получения пользовательских данных вместе с веткой и сечением ветви, избегая при этом сценария N + 1

...