使用实体类型生成器允许外键为空

时间:2019-05-30 19:09:06

标签: c# entity-framework

我需要一个外键为null,如何使用实体配置来做到这一点?

 public void Configure(EntityTypeBuilder<CostCenter> entity)
        {
            entity.ToTable("CostCenter", ApplicationDataContext.DEFAULT_SCHEMA);

            entity.Property(e => e.Id).ValueGeneratedNever();

            entity.Property(e => e.Name)
                .IsRequired()
                .HasMaxLength(150)
                .IsUnicode(false);

            entity.Property(e => e.Uid).HasColumnName("UID");

            
            entity.Property(e => e.UpdatedBy)
                .IsRequired()
                .HasMaxLength(250)
                .IsUnicode(false);

            entity.Property(e => e.UpdatedOn).HasColumnType("datetime");

                
                
        }

现在我需要将此属性设置为空

entity.HasOne(e => e.Owner)
                .WithMany()
                .HasForeignKey(d => d.OwnerId)
                .HasConstraintName("FK_CostCenter_Account_OwnerId");

1 个答案:

答案 0 :(得分:0)

我认为您要配置为,如果CostCenter的所有者ID为空,则CostCenter的{​​{1}}没有。

显然,有些OwnerCostCenters,有些却没有:Owners是可选的。这是一个零或一对多的关系。

Owner