实体框架中的零或一对多

时间:2018-09-05 21:01:51

标签: c# entity-framework entity-framework-6

我的情况如下:周期性任务实体可以有许多任务,但是一个任务可以不具有任何关联,或者只有关联的周期性任务。也就是说,我需要Task上的Task Periodic的外键为空。但是,即使使用以下语句,我也无法通过实体框架进行此配置:

    video {
    width: 100%;
    height: auto;
}

可能的解决方案是什么?

非常感谢您。

public int? PeriodicTaskID

1 个答案:

答案 0 :(得分:0)

您可以像这样通过数据注释定义关系;

public class Task
{
    public int TaskID { get; set; }

    public int? PeriodicTaskID { get; set; }
    [ForeignKey("PeriodicTaskID ")]
    public virtual PeriodicTask PeriodicTask { get; set; }
}

通过Fluent API;

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    //..
    modelBuilder.Entity<Task>()
        .HasOne(t => t.PeriodicTask)
        .WithMany(pt => pt.Tasks);
}