我有一个带有子实体OrderDetail的实体Order。我想更新订单并添加新的OrderDetail。我该怎么做?
我已尝试将订单的状态设置为已修改,但我收到此错误:
发生了引用完整性约束违规:定义引用约束的属性值在关系中的主体和从属对象之间不一致。
更新: 在我添加了新的OrderDetail之后,我想更新作为主键一部分的订单类型。我试图将OrderDetail的状态设置为修改但我得到一个新的错误:
存储更新,插入或删除语句会影响意外的行数(0)。自实体加载后,实体可能已被修改或删除。刷新ObjectStateManager条目。
答案 0 :(得分:0)
在将OrderDetail
设置为Added
之前,请先尝试将新的Order
置于Modified
州:
var newOrderDetail = order.OrderDetails.First();
context.Entry(newOrderDetail).State = EntityState.Added;
context.Entry(order).State = EntityState.Modified;
这可能有用 - 或者不行,具体取决于您的模型和场景的细节......