小編給大家分享一下Linq to SQL更新數(shù)據(jù)時(shí)容易忽略的問題有哪些,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)建站專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、云城網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為云城等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
有時(shí)候,我們還是會(huì)使用Linq to Sql來進(jìn)行LINQ更新數(shù)據(jù)Update,執(zhí)行的步驟:獲取一個(gè)記錄-〉更新字段 -〉submitChanges()
遇到了一個(gè)問題,流程都沒有錯(cuò),但是LINQ更新數(shù)據(jù)的時(shí)候始終沒有更新到數(shù)據(jù)庫,
大概得偽代碼如下:
public void UpdateUser(User user) { DataContext context = new DataContext("conn"); User existsUser = GetUser(user.ID); existsUser.Name = user.Name; //............. context.SubmitChanges(); } |
簡單的代碼,大概的意思也是獲取一個(gè)記錄,然后更新字段,再submitChanges,大體看看沒有錯(cuò),但是?。。?!大家有沒有發(fā)覺,我們的context是個(gè)私有變量,而我們的GetUser雖然也是從context中取得,不過它用的是它自己的context,也就是說對(duì)于程序來說,它是兩個(gè)對(duì)象,所以我們這里在submitChanges的時(shí)候,無論你怎么改都是沒有效果的,數(shù)據(jù)庫中始終不會(huì)改變,My God ,或許你會(huì)覺得這誰不知道啊,但是往往我們真的會(huì)忽略這一點(diǎn),記得以前考試,往往都是難的題目基本上全對(duì),但越簡單越容易的題目,卻會(huì)經(jīng)常犯錯(cuò),希望這些能對(duì)你有些啟發(fā)。
好了,知道了為什么出錯(cuò),修改也簡單了,兩種方法:
LINQ更新數(shù)據(jù)方法一:public void UpdateUser(User user) { DataContext context = new DataContext("conn"); //從當(dāng)前context取 User existsUser = context.Users.SingleOrDefault(e => e.ID.Equals(user.ID); existsUser.Name = user.Name; //............. context.SubmitChanges(); }LINQ更新數(shù)據(jù)方法二: //把context設(shè)成上下文公用的 DataContext context = new DataContext("conn"); public void UpdateUser(User user) { User existsUser = GetUser(user.ID); existsUser.Name = user.Name; //............. context.SubmitChanges(); } |
看完了這篇文章,相信你對(duì)“Linq to SQL更新數(shù)據(jù)時(shí)容易忽略的問題有哪些”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
新聞名稱:LinqtoSQL更新數(shù)據(jù)時(shí)容易忽略的問題有哪些
文章出自:http://aaarwkj.com/article10/gpjhdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、品牌網(wǎng)站制作、企業(yè)網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)公司、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)