如果我通过分配相同类型的“新”对象(具有不同的值)来更改现有的linq对象,则SubmitChanges不会在数据库中进行更改。为什么不呢?
existing= new Data.Item{a=1, b=2...};
vs
existing.a= 1;
existing.b= 2;
答案 0 :(得分:0)
因为您没有更改对象,所以您要为变量指定一个新对象。
你需要逐个分配字段,(或者InsertOnSubmit ......但是这会在数据库中创建一个新对象,听起来不像你想做的那样)。
如果我们将新创建的对象分配给LINQ to SQL知道的对象的字段,这种方法将会起作用,但是再一次,这将创建一个新对象而不是更改之前指向的字段to(如果你永远不会删除它们,可能会导致数据库中出现一堆垃圾行。)