我有一张桌子来存储各个页面的课程。该表如下所示:
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