2008-10-13 45 views
1

Linq to SQL是否支持將更改提交給單個對象? SubmitChanges方法將所有更改發送到數據庫,但是如果我與錯誤日誌表關聯並只想將進入錯誤日誌的記錄保存而不將所有更改提交到其他表中,該怎麼辦?Linq to SQL - 您可以提交單個對象的更改嗎?

實施例:
對象動作(ID,名稱,類型,說明,結果)
對象ActionError(ActionID,差錯編號,ERRMSG)

有由ID Action和的ActionErrors之間的關聯。在處理Actions時,我想記錄一個錯誤。我可以將一個新的ActionError對象添加到ActionErrors集合中,但是如何將這些對象發送到數據庫而不發送對Action的任何更改?是使用獨立的數據上下文,只想在Linq to SQL中完成這個任務嗎?

+0

什麼是您的解決方案呢? 如果您想要更新一些對象,則多數據上下文方法有效,但如果您有數千個對象,並且您希望一次選擇其中一個對象進行更新,那麼該方法會如何工作?我無法在CMS的鏈接中找到很好的答案。任何想法或見解? – mphair 2009-11-03 02:09:18

+0

這只是你必須解決的問題。我相信L2S是圍繞ActiveRecord模式設計的,這基本上意味着您一次只能有一個活動記錄,並且可以提交更改。您可能想閱讀裏克斯特拉爾的帖子,鏈接在頂部的答案。 – 2009-11-11 11:16:28

回答

2

Here是如何LINQ的壽命管理,以SQL DataContext的好文章,可能會幫助你...

1

您可以使用RefreshMode.OverwriteCurrentValues的DataContext上的Refresh()方法刷新更改的實體集合,然後更新ActionError並提交更改。

FWIW。我沒有這樣做,但看着這些文檔,這是我想嘗試的。

相關問題