我创建了两个单独的对象,一个是 Order 类,一个是 TempOrder 类。当我尝试使用 db.TempOrders.InsertOnSubmit(obj) 在数据库中插入 TempOrder 对象,然后调用 db.SubmitChanges 时,Order 对象也被提交(没有附加到数据上下文或任何东西)。数据库中的两个对象之间没有关系,但是我在类中创建了一个简单的成员函数,以在您拥有 TempOrder 时创建 Order 对象,反之亦然(toNewOrder - toNewTempOrder)。我正在使用的代码如下所示:
if(order.PaymentType == "Paypal")
{
TempOrder temp = new TempOrder();
temp = order.ToNewTempOrder();
db.Add(temp);//Add is calling datacontext.TempOrders.InsertOnSubmit and datacontext.SubmitChanges
}
当调用 db.Add(temp) 时,变更集也包含临时对象和订单对象。我怎样才能避免这种情况?我做错什么了吗?这是因为 .toNewTempOrder() 函数吗?我坚持这一点。