Linq to sql Linq提交在分配新对象后发生更改

Linq to sql Linq提交在分配新对象后发生更改,linq-to-sql,Linq To Sql,如果通过为同一类型的新对象分配不同的值来更改现有linq对象,SubmitChanges不会在数据库中进行更改。为什么不呢 existing= new Data.Item{a=1, b=2...}; vs existing.a= 1; existing.b= 2; 因为您没有更改对象,所以正在为变量指定一个新对象 您需要一个接一个地分配给字段,或者InsertOnSubmit。。。但这将在数据库中创建一个新对象,听起来不像是您想要做的 如果我们将新创建的对象分配给LINQ to

如果通过为同一类型的新对象分配不同的值来更改现有linq对象,SubmitChanges不会在数据库中进行更改。为什么不呢

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

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

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

您需要一个接一个地分配给字段,或者InsertOnSubmit。。。但这将在数据库中创建一个新对象,听起来不像是您想要做的

如果我们将新创建的对象分配给LINQ to SQL所知道的对象的字段,那么这种方法会有一定的效果,但同样,这将是创建一个新对象,而不是更改该字段以前指向的对象,如果您永远无法清除这些对象,则可能会在数据库中产生一堆垃圾行