[英]EF Table with inheritace but not Abstract?
我想制作三张桌子:
Tasks
- 该表将信息存储为ID,名称,任务优先级 TakenTasks
- 在此表中,我们存储用DateTime执行任务的用户ID EndedTasks
- 以DateTime结束的任务 我的问题是,如何在EntityFramework Core
表中使用TakenTasks
和EndedTasks
将相同的属性映射到Tasks
表而不重写任务ID,任务名称等的代码?
Tasks
表可以基于abstract Task
类构建,因为我希望在列表中有Task
对象。 如上所述,scenerio的最佳解决方案是什么?
public class Task
{
int Id { get; set; }
string Name { get; set; }
Priority Priority { get; set; }
}
public class TakenTask
{
string UserId { get; set; }
DateTime DateOfTaken { get; set; }
}
public class EndedTask
{
DateTime DateOfEnd { get; set; }
}
如何存储来自Task
in TakenTask
和EndedTask
withotu重写来自Task
属性并有3个表?
您不需要复制三个表中的列,使用TakenTasks
和EndedTasks
的外键到Task
,您可以创建一个public virtual Task ParentTask{ get; set; }
public virtual Task ParentTask{ get; set; }
public virtual Task ParentTask{ get; set; }
在这两个TakenTasks
和EndedTasks
这样你就可以访问任务属性
我认为你需要2个表:
Task
Assign
在Task
应该有
int Id { get; set; }
string Name { get; set; }
Priority Priority { get; set; }
Status Status { get; set; }
在Assign
应该有
int TaskId { get; set; }
int UserNameId { get; set; }
DateTime StartDate { get; set; }
DateTime EndDate { get; set; }`
希望这有帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.