Необязательно Один ко многим в Entity Framework - PullRequest
0 голосов
/ 22 апреля 2020

Я создаю модуль «Закупки» и испытываю трудности с установкой необязательного отношения (ProcurementProcess) ко многим (PurchaseReceiving). Я получаю ошибку FK всякий раз, когда я создаю PurchaseReceivingRecord без определенного ProcurementProcess (который будет назначен позже)

ProcurementProcess.cs

public class ProcurementProcess
{
     public Guid Id { get; set; }

     //....

     public virtual ICollection<PurchaseReceiving> ReceivingReports { get; set; }
}

PurchaseReceiving class

public class PurchaseReceiving 
{
     public Guid Id { get; set; }

     //....

      // This is just to avoid having to use .Value
     [NotMapped]
     public Guid ProcurementProcessId  
     {
         get { return _procurementProcessId ?? Guid.Empty; } 
         set { _procurementProcessId = value; } 
     }
      public Guid? _procurementProcessId { get; set; }

      public virtual ProcurementProcess ProcurementProcess { get; set; }
}

EntityTypeConfiguration

public class PurchaseReceivingMap: EntityTypeConfiguration<PurchaseReceiving>
{
    public PurchaseReceivingMap()
    {
        ToTable("PurchaseReceiving");
        HasKey(c => c.Id);
        Property(c => c._procurementProcessId).HasColumnName("ProcurementProcessId");

        HasOptional(c => c.ProcurementProcess)
              .WithMany(c => c.ReceivingReports)
              .HasForeignKey(c => c._procurementProcessId)
              .WillCascadeOnDelete(false);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...