Linq to Sql 更新資料時容易忽略的問題

2021-09-05 21:45:35 字數 851 閱讀 2229

越來越多的朋友喜歡用linq to sql來進行開發專案了,一般我們都會遇到crud等操作,不可否認,在查詢方面linq真的帶來很大的便利,效能方面也表現不錯,在插入操作和刪除操作中,linq的表現也還不錯,但是在更新某條記錄的時候,效能就相對比較弱了,我們一般會使用executesql等方法來執行指令碼。

不過有時候,我們還是會使用linq to sql來進行update,執行的步驟:獲取乙個記錄-〉更新字段 -〉submitchanges()

昨天遇到了乙個問題,流程都沒有錯,但是更新的時候始終沒有更新到資料庫,

大概得偽**如下:

public void updateuser(user user)

簡單的**,大概的意思也是獲取乙個記錄,然後更新字段,再submitchanges,大體看看沒有錯,但是!!!!大家有沒有發覺,我們的context是個私有變數,而我們的getuser雖然也是從context中取得,不過它用的是它自己的context,也就是說對於程式來說,它是兩個物件,所以我們這裡在submitchanges的時候,無論你怎麼改都是沒有效果的,資料庫中始終不會改變,my god ,或許你會覺得這誰不知道啊,但是往往我們真的會忽略這一點,記得以前考試,往往都是難的題目基本上全對,但越簡單越容易的題目,卻會經常犯錯,希望這些能對你有些啟發。

好了,知道了為什麼出錯,修改也簡單了,兩種方法:

方法一:

public void updateuser(user user)

方法二:

//把context設成上下文公用的

datacontext context = new datacontext("conn");

public void updateuser(user user)

Linq to Sql 更新資料時容易忽略的問題

越來越多的朋友喜歡用linq to sql來進行開發專案了,一般我們都會遇到crud等操作,不可否認,在查詢方面linq真的帶來很大的便利,效能方面也表現不錯,在插入操作和刪除操作中,linq的表現也還不錯,但是在更新某條記錄的時候,效能就相對比較弱了,我們一般會使用executesql等方法來執行...

Linq to Sql 更新資料時容易忽略的問題

越來越多的朋友喜歡用linq to sql來進行開發專案了,一般我們都會遇到crud等操作,不可否認,在查詢方面linq真的帶來很大的便利,效能方面也表現不錯,在插入操作和刪除操作中,linq的表現也還不錯,但是在更新某條記錄的時候,效能就相對比較弱了,我們一般會使用executesql等方法來執行...

Linq to Sql 更新之屬性遍曆法

最近在學習linq to sql,於是自己做了乙個例子。但是,當用到linq to sql來更新資料的時候,我傻眼了。wwsdatacontext db new wwsdatacontext tb userinfor userinfor db.tb userinfor.first u u.id 1 ...