【发布时间】:2019-02-13 16:59:14
【问题描述】:
我有一个 EF 6 任务实体,如下所示:
public class Task
{
public Guid TaskId {get; set;}
public TaskTypeEnum TaskType {get; set;}
public TaskStatusEnum TaskStatus {get; set;}
public virtual ICollection<Task> Dependencies {get; set;}
}
某种类型的任务可以依赖于某种类型的所有其他任务在它们运行之前完成运行,并且这些依赖关系应该在这样的表中定义:
public class TaskTypeDependency
{
public TaskTypeEnum TaskType {get; set;}
public TaskTypeEnum DependsOnTaskType {get; set;}
}
我想要的示例-任务 A 的类型为 1,任务 B 和 C 的类型为 2。我的 TaskTypeDependency 为
TaskType | DependsOnTaskType
----------------------------
1 | 2
在运行时,我想获取该任务所依赖的所有任务,对于任务 A 来说,任务 B 和任务 C 是为了检查相关任务是否已完成。有没有办法在 Code-First 中建立这种关系,也许使用 Fluent API?还是我在没有虚拟属性的情况下使用 LINQ 来解决所有问题?
【问题讨论】:
-
那么类型1的所有任务都依赖于类型2的所有任务?如果是这样,您可以简单地检查类型 2 的所有任务是否已完成,如果您想知道是否可以完成类型 1 的 任何 任务。你不需要这个
Dependencies集合。
标签: c# .net database entity-framework entity-framework-6