Я создаю модуль «Закупки» и испытываю трудности с установкой необязательного отношения (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);
}
}