2

我的存储库中有以下简单的 Create 方法。我要防止的行为是在插入目标对象(OrderItem)的同时插入相关对象。

在这种情况下,Order 项目有一个引用属性 - Product。创建 OrderItem 记录时,也会创建 Product 记录。

如何解除两者的关联,以便只插入 OrderItem?

public OrderItem Create(OrderItem orderItem, int orderID)
{
    orderItem.CreatedDate = DateTime.Now;
    orderItem.OrderID = orderID;

    this.DbContext.OrderItems.Add(orderItem);
    this.DbContext.SaveChanges();

    return orderItem;
}
4

1 回答 1

2

您可以从上下文中分离 Product 属性:

this.DbContext.Entry(orderItem.Product).State = EntityState.Detached;
于 2013-11-01T11:21:55.360 回答