Как включить отношение через isn Entity Framework 6.2?

У меня есть проект с C# на вершине ASP.NET MVC 5 Framework при использовании 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?

0 ответов

Другие вопросы по тегам