Установка пользовательских свойств в модели EntityFrameworkCore - PullRequest
0 голосов
/ 26 июня 2018

У меня есть стол для хранения отдельных страниц курсов. Таблица выглядит так:

Pages :
---------------------------------------------------
CourseId | LessonId | TopicId | Url
---------------------------------------------------
    1    |     1    |    0    | lesson-1
---------------------------------------------------
    1    |     1    |    1    | lesson-1-Topic-1
---------------------------------------------------
    1    |     1    |    2    | lesson-1-Topic-2 
---------------------------------------------------      
    1    |     1    |    3    | lesson-1-Topic-3
---------------------------------------------------
    1    |     2    |    0    | lesson-2
---------------------------------------------------
    1    |     2    |    1    | lesson-2-Topic-1
---------------------------------------------------
    1    |     2    |    2    | lesson-2-Topic-2
---------------------------------------------------

CourseId, LessonId & TopicId являются целыми числами и составляют первичный ключ для таблицы. Эта модель позволяет мне быстро узнать урок, тема серийного номера отсутствует. , темы в уроке.

Я хочу, чтобы модель сущности была такой:

Public class Page
{
   public int CourseId {get;set;}
   public int LessonId {get;set;}
   public int TopicId {get;set;}

   // Need to write custom logic to fetch and set below properties
   // Whenever this entity is initialized
   public Page PreviousPage {get;set;}
   public Page NextPage {get;set;}
   public Page LessonPage {get;set;}
   public ICollection<Page> ChildPages {get;set;}
}

Как я могу установить эти пользовательские свойства в модели? Мы можем запросить БД в контроллере и установить эти свойства. Разве это не подтолкнет логику приложения в контроллере?

Платформа / библиотеки : Asp.Net Core 2.0, MySQL 5.7, Pomelo.EntityFrameworkCore.Mysql

...