分配新对象后Linq SubmittingChanges

时间:2009-09-22 22:43:37

标签: linq-to-sql

如果我通过分配相同类型的“新”对象(具有不同的值)来更改现有的linq对象,则SubmitChanges不会在数据库中进行更改。为什么不呢?

  existing= new Data.Item{a=1, b=2...};

vs

  existing.a= 1;
  existing.b= 2;

1 个答案:

答案 0 :(得分:0)

因为您没有更改对象,所以您要为变量指定一个新对象。

你需要逐个分配字段,(或者InsertOnSubmit ......但是这会在数据库中创建一个新对象,听起来不像你想做的那样)。

如果我们将新创建的对象分配给LINQ to SQL知道的对象的字段,这种方法将会起作用,但是再一次,这将创建一个新对象而不是更改之前指向的字段to(如果你永远不会删除它们,可能会导致数据库中出现一堆垃圾行。)