Как сложились отношения между моделями? - PullRequest
1 голос
/ 22 марта 2020

У меня 3 модели. SysPage и SysTab - это таблицы c, и у меня есть их данные. Я хочу выбрать SysPage и SysTab (не все вкладки связанных SysPage) для модуля. Поэтому я установил отношения между SysModule и SysTab с помощью SysModulePage.

  public class SysModule 
{
    public int Id { get; set; }
    public string Name { get; set; }
    [JsonIgnore]
    public List<SysModulePage> Pages { get; set; }
    [NotMapped]
    public virtual List<SysPage> PageList => this.Pages?.Select(p => p.SysPage).ToList();

}

public class SysModulePage
{
    public int Id { get; set; }
    public int? SysPageId { get; set; }
    public SysPage SysPage { get; set; }

    public int? ModuleId { get; set; }
    public SysModule Module { get; set; }

    [JsonIgnore]
    public List<SysModulePageTab> ModuleTabs { get; set; }
    [NotMapped]
    public virtual List<SysTab> ModuleTabList => this.ModuleTabs?.Select(p => p.SysTab).ToList();
}

public class SysModulePageTab 
{

    public int Id { get; set; }
    public int? SysModulePageId { get; set; }
    public SysModulePage SysModulePage { get; set; }
    public int? SysTabId { get; set; }
    public SysTab SysTab { get; set; }
}

    public class SysPage 
{
    public int Id { get; set; }
    public string Name { get; set; }
    public List<SysTab> SysTabList { get; set; }
}
public class SysTab 
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int? SysPageId { get; set; }
    public SysPage SysPage { get; set; }
}

Я получаю данные SysModule с EF in. Net Core Api.

var res = _rootContext.SysModules
        .Include(p => p.Pages).ThenInclude(p => p.SysPage)
        .Include(p => p.Pages).ThenInclude(p => p.ModuleTabs).ThenInclude(p => p.SysTab);

У меня есть SysTabList sub PageList для этого результата. Но SysTab не входит в SysPage. Как это случилось?

пример результата

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...