我该如何避免这种行为?

时间:2009-11-20 19:23:56

标签: linq-to-sql

假设我有一个看起来如下的实体

public Order OrderEntity 
{   
   EntityRef<Customer> CustomerEntity;   
   EntitySet<OrderDetail> OrderDetailEntity;   
   ...   
   ...
}

当我保存OrderEntity时,L2S还希望将实体保存在CustomerEntity和OrderDetailEntity中的所有实体中。有时我们想要这种行为,有时我们不想。那些时候我们不这样做,如何告诉L2S不要这样做?

谢谢 - 兰迪

2 个答案:

答案 0 :(得分:1)

如果没有对特定实体进行任何更改,则当您SubmitChanges()时,L2S将不会对数据库进行实际保存。如果对特定实体进行了更改,并且您执行SubmitChanges(),我认为您希望它们生效。

如果特定实体有变化,但您不希望它们在调用SubmitChanges()时生效,那么您必须单独对实体进行操作;
即加载并将它们与较大的实体分开保存。

http://msdn.microsoft.com/en-us/library/bb399378.aspx

答案 1 :(得分:0)

如果更改了OrderEntity个子对象中的任何一个并且您不想保存更改,我建议您使用其子对象重新加载OrderEntity,进行更改然后保存。