Entity framework EntityFramework中删除时的约束错误
我有以下EF模型:Entity framework EntityFramework中删除时的约束错误,entity-framework,code-first,Entity Framework,Code First,我有以下EF模型: public class Order { public string Id { get; set; } public IList<OrderLine> Lines { get; set; } ... } public class OrderLine { public string OrderId { get; set; } public int Position { get; set; } ... } 到目
public class Order
{
public string Id { get; set; }
public IList<OrderLine> Lines { get; set; }
...
}
public class OrderLine
{
public string OrderId { get; set; }
public int Position { get; set; }
...
}
到目前为止,一切都很顺利,直到我添加了这个新实体:
public class OrderLineReturn
{
public string Id { get; set; }
...
}
public class OrderLine
{
public string OrderId { get; set; }
public int Position { get; set; }
public IList<OrderLineReturn> LineReturns { get; set; }
...
}
有人能帮我理解这个问题吗?我想您需要将ILIst属性标记为虚拟以启用延迟加载。另外,我想知道您是否需要在OrderLine中创建虚拟Order属性,而不是使用OrderID引用 我不确定我是否正确,但我认为如果您试图删除订单而不先删除订单行,您也会遇到同样的问题 问题是OrderLineReturn将引用OrderLine,当您在不首先删除OrderLineReturn的情况下删除OrderLine时,它将给出该错误 我认为您可以启用级联删除…但这始终是一个风险 问候,
public class OrderLineReturn
{
public string Id { get; set; }
...
}
public class OrderLine
{
public string OrderId { get; set; }
public int Position { get; set; }
public IList<OrderLineReturn> LineReturns { get; set; }
...
}
DELETE instruction is in conflict with the REFERENCE constraint "FK_dbo.OrderLineReturn_dbo.OrderLine_OrderLine_Position_OrderLine_OrderId"