繁体   English   中英

EF表继承但不是抽象?

[英]EF Table with inheritace but not Abstract?

我想制作三张桌子:

  1. Tasks - 该表将信息存储为ID,名称,任务优先级
  2. TakenTasks - 在此表中,我们存储用DateTime执行任务的用户ID
  3. EndedTasks - 以DateTime结束的任务

我的问题是,如何在EntityFramework Core表中使用TakenTasksEndedTasks将相同的属性映射到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 TakenTaskEndedTask withotu重写来自Task属性并有3个表?

您不需要复制三个表中的列,使用TakenTasksEndedTasks的外键到Task ,您可以创建一个public virtual Task ParentTask{ get; set; } public virtual Task ParentTask{ get; set; } public virtual Task ParentTask{ get; set; }在这两个TakenTasksEndedTasks这样你就可以访问任务属性

我认为你需要2个表:

  1. Task
  2. 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM