【发布时间】:2018-09-05 21:01:51
【问题描述】:
我的情况如下:Periodic Task实体可以有很多Task,但是一个Task可以没有或者只有一个Periodic Task与之关联。也就是说,我需要Task Periodic on Task的外键为空。但是,即使使用以下语句,我也无法通过实体框架进行此配置:
public int? PeriodicTaskID
有哪些可能的解决方案?
非常感谢。
public class Task
{
public int TaskID { get; set; }
public int? PeriodicTaskID { get; set; }
public virtual PeriodicTask PeriodicTask { get; set; }
}
public class PeriodicTask
{
public int PeriodicTaskID { get; set; }
public virtual ICollection<Task> Tasks { get; set; }
}
【问题讨论】:
-
我建议将您的
Task实体重命名为其他名称,因为System.Threading.Tasks.Task现在在 C#/.NET 中被大量使用,因此您最终会遇到很多名称冲突。 -
感谢您的建议。目前我对此没有任何冲突,但实际上是要避免的。
-
我看不到数据注释或 fluenti api 来配置您的关联。您希望它在没有任何配置的情况下如何工作?
-
我创建了继承自 EntityTypeConfiguration 的类来配置每个实体的属性并进行映射。外键 PeriodicTask 已创建,但不接受 Task 表上的空值。
-
该模型应该按照约定正确配置,没有任何流畅映射的注释。它看起来是正确的,只是没有设置 PeriodicTasks.Tasks 属性。错误是什么?
标签: c# entity-framework entity-framework-6