我有一个名为 DeliveryRequest 的表和另一个名为 Operator 的表,表 DeliveryRequest 如下:
public class DeliveryRequest
{
public int ID { get; set; }
public DateTime Date { get; set; }
public string UserID { get; set; }
public string Waybill { get; set; }
public string Reference { get; set; }
public int SupplierID { get; set; }
public Supplier Supplier { get; set; }
//[ForeignKey("Operator")]
public int SenderID { get; set; }
public Operator Sender { get; set; }
//[ForeignKey("Operator")]
public int ReceiverID { get; set; }
public Operator Receiver { get; set; }
public string Origin { get; set; }
public string Destination { get; set; }
public int ServiceID { get; set; }
public Service Service { get; set; }
}
而表操作符如下:
public class Operator
{
public int ID { get; set; }
public string Company { get; set; }
public int ContactID { get; set; }
public Contact Contact { get; set; }
public int AddressID { get; set; }
public Address Address { get; set; }
}
所以问题是,当我尝试更新我的数据库时,我得到一个 FK 约束错误,如下所示:
在表“DeliveryRequests”上引入 FOREIGN KEY 约束“FK_dbo.DeliveryRequests_dbo.Operators_SenderID”可能会导致循环或多个级联路径。指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。无法创建约束或索引。请参阅以前的错误。
和前面的错误是一样的。如下:
System.Data.SqlClient.SqlException (0x80131904):在表“DeliveryRequests”上引入 FOREIGN KEY 约束“FK_dbo.DeliveryRequests_dbo.Operators_SenderID”可能会导致循环或多个级联路径。指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
专注于发送者和接收者部分,我不是专家,但错误一定存在哈哈
//[ForeignKey("Operator")]
public int SenderID { get; set; }
public Operator Sender { get; set; }
//[ForeignKey("Operator")]
public int ReceiverID { get; set; }
public Operator Receiver { get; set; }