我已经创建了两个独立的对象,一个属于Order类,另一个属于TempOrder类。当我尝试使用db.TempOrders.InsertOnSubmit(obj)在数据库中插入TempOrder对象,然后调用db.SubmitChanges时,Order对象也会被提交(没有附加到datacontext或其他内容)。数据库中的两个对象之间没有关系,但是我已经在类中创建了一个简单的成员函数,以便在拥有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 )时,变更集包含temp对象和order对象。我怎样才能避免这种情况?我做错什么了吗?这是因为函数.toNewTempOrder()吗?我被困在这里了。
发布于 2010-07-14 17:19:28
您代码是如何获得我们在代码片段中看到的order对象的?
您确定C#代码中的一个不是从另一个派生的吗?如果C#类是手工创建的,那么它们所表示的SQL表仍然是完全不相连的。
那是db.Add(...)是重载还是采用一些基类型,然后根据参数的实际类型做出决定?
https://stackoverflow.com/questions/3138748
复制相似问题