越來越多的朋友喜歡用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)
標籤: c#,linq to sql,仔細,專案
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 ...