使用LINQ更新列

时间:2012-04-30 15:12:56

标签: c# asp.net .net linq

我的桌子有两个ID字段(我没有放2个ID,所以不要问我为什么)。一个是主键,另一个是可空的重复字段,它将包含主键本身的值。

public static void UpdateDuplicate_ID(Company updatingCompany)
       {
           Company tempCompany;

           using (var context = new TestLiveDataContext())
           {
               tempCompany = (from company in context.Companies
                             where company.Id == updatingCompany.Id
                             select company).FirstOrDefault();

               tempCompany.DuplicateId = updatingCompany.DuplicateId;

               context.SubmitChanges();
           }
       }

看来上面的代码不起作用。我无法使用主键值更新重复的ID。谁能告诉我,我在这里是否遗漏了什么?

1 个答案:

答案 0 :(得分:1)

我可以看到,updatingCompanytempCompany似乎是同一记录。

如果是这种情况,如果您稍后更改传入的值并再次保存,则可能会覆盖此方法之外的机会。

请问这个问题,你为什么不改变updatingCompany中的值,然后在自己的上下文中提交更改,而不是启动新的?

除非我误解了这个问题。