2009-10-27 55 views
0

我們可以使用LINQ to SQL中的Table.Attach()更新記錄嗎?Linq數據更新

如果是,如何?

這個想法是,我將創建一個新對象,將它附加到表(它將反過來將附加到DataContext),然後我將提交更改等等。它ID匹配,現有對象將被更新。

回答

0

你必須做到以下幾點:從源

  1. 反序列化對象。 (Table.Attach()只應用於在實體序列化後重新關聯實體到DataContext)。

  2. 調用Table.Attach()將實體附加到表中。

  3. 使您的實體更新。

  4. 調用DbContext.SubmitChanges();

+0

但我在談論創建一個新的對象,然後附加它。 – anonymous 2009-10-27 20:52:58

+0

然後Table.Attach()是做錯事情的錯誤方法。您需要創建對象的新實例,然後調用Table.InsertOnSubmit()。 – 2009-10-27 20:58:47

0

如果使用RowVersion列,則可以使用Attach()。 在不同的情況下,您需要將修改對象和原始對象傳遞給Attach方法參數。 更多信息可用here