2016-10-03 70 views
0

你好,你可以看到我的標題,我想知道什麼更安全,更穩定當我們談論的時候使用Linq to SQL,SubmitChanges()方法或 .Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues,「要更新的實體」),因爲我們每次在製作時都需要使用它們數據庫表上的變化,那是真的嗎?Linq to sql提交更改()或.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues,「更新實體」)

因爲如果我們不使用它們,我們將永遠不會在我們的IDE中更新數據庫模型(例如visual studio)。

我剛開始使用LINQ到SQL,我想了解這兩個幫助者,爲什麼我應該或爲什麼不應該使用它們中的任何一個。

謝謝你們, 乾杯

回答

1

這兩種方法做事情無比。 SubmitChanges寫入數據庫,Refresh讀取數據庫。

Refresh幾乎不需要,因爲通常情況下您正在通過實體進行所有寫操作。這意味着實體總是最新的。

+0

但這個隊友怎麼樣:我更新數據庫中的字段狀態,即我將其設置爲false,之後立即調用方法給我所有行的狀態設置爲true,如果我不打電話更新我的數據庫表後'.Refresh'我仍會繼續UN UPDATED行? –

+0

您應該使用ORM進行更新。然後,沒有同步問題。如果你在沒有L2S知識的情況下更新,那麼你有一個同步問題,是的。這是非常罕見的情況,因爲這是非常糟糕的做法。事實上,同步問題是非確定性的。如果該實體是新的,它是新鮮的。如果它在查詢之前就已經存在了,那就太舊了。所以不要這麼做:) – usr

+0

所以你可以給我一些好的練習例子,因爲這就是我學會使用它的原因:做一些表更換,調用刷新方法並繼續前進,所以你可以給我提供鏈接或寫一個例子應該看起來如何,我和我猜想全世界的很多用戶會非常感謝! :) –