0

我创建了两个单独的对象,一个是 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() 函数吗?我坚持这一点。

4

1 回答 1

0

您的代码是如何获得我们在代码段中看到的订单对象的?

您确定 C# 代码中的一个不是从另一个派生的吗?如果 C# 类是手工制作的,它们所代表的 SQL 表仍然可以完全不连接。

是 db.Add(...) 重载还是需要一些基本类型,然后根据参数的实际类型做出决定?

于 2010-07-14T09:19:28.050 回答