嗨,这是我的数据库图表。
我正在尝试在Order和OrderItem表中插入行。插入订单表就可以了。 但是,当我尝试插入OrderItem表时,我得到一个异常。无法插入到Product表中,ProductId已经存在。为什么会这样?
Insert code:
db.Orders.Add(newOrder);
db.SaveChanges();
newOrder.OrderItems = products.Convert(newOrder);
foreach (var orderItem in newOrder.OrderItems)
{
db.OrderItems.Add(orderItem);
}
db.SaveChanges();
新订单对象已经有一个订单商品列表,我只需要一个例外(对于productId),如果我要插入的OrderItem记录在产品表中没有现有的productId,而不是插入到Product表中。这怎么可以解决?
答案 0 :(得分:1)
交叉检查订单商品列表是否具有Product实体对象,因为它是OrderItem表的外键。您也可以尝试在子表中显式插入,例如首先插入Order然后使用Order实例对象的Order Items,这应该有效(注意OrderItem应该有Product实体对象)。