orderItem
具有
orderID=100
orderID
被称为关系修复。因此,我们不必提供
订单号
待补充。
Entities ctx = new Entities();
Order order = new Order()
{
ID = 100,
name = "abc"
};
// ID field of OrderItem is auto-increment and the primary field
//OrderItem is a navigation property of Order through the orderID field
OrderItem orderItem = new OrderItem ()
{
name = "oi_abc"
};
order.OrderItems.Add(orderItem);
ctx.Orders.Add(order);
ctx.SaveChanges();
这段示例代码按预期工作。但问题是,我们项目中的一段类似代码未能正确修复关系。(我知道如果我能提供完整的代码就最好了,但由于代码和数据库的其他复杂性以及我们公司的政策,这是不可能的。)
我们项目中的代码只是设置
订单号
在提交期间将其设置为0。
-
我们不会在任何地方禁用跟踪上下文的更改
-
手动设置orderID可以工作,但我们不希望这样
-
ctx.Orders.Add(order);
在创建
order
对象,则它将按预期工作。