日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺析LinqtoSQL更新數(shù)據(jù)時容易忽略的問題

有時候,我們還是會使用Linq to Sql來進(jìn)行LINQ更新數(shù)據(jù)Update,執(zhí)行的步驟:獲取一個記錄-〉更新字段 -〉submitChanges()

創(chuàng)新互聯(lián)公司是一家企業(yè)級云計算解決方案提供商,超15年IDC數(shù)據(jù)中心運(yùn)營經(jīng)驗(yàn)。主營GPU顯卡服務(wù)器,站群服務(wù)器,資陽移動機(jī)房,海外高防服務(wù)器,成都機(jī)柜租用,動態(tài)撥號VPS,海外云手機(jī),海外云服務(wù)器,海外服務(wù)器租用托管等。

昨天遇到了一個問題,流程都沒有錯,但是LINQ更新數(shù)據(jù)的時候始終沒有更新到數(shù)據(jù)庫,

大概得偽代碼如下:

      
      
      
  1. public void UpdateUser(User user) 
  2.             DataContext context = new DataContext("conn"); 
  3.             User existsUser = GetUser(user.ID); 
  4.             existsUser.Name = user.Name; 
  5.             //............. 
  6.             context.SubmitChanges(); 
  7. }

簡單的代碼,大概的意思也是獲取一個記錄,然后更新字段,再submitChanges,大體看看沒有錯,但是!?。?!大家有沒有發(fā)覺,我們的context是個私有變量,而我們的GetUser雖然也是從context中取得,不過它用的是它自己的context,也就是說對于程序來說,它是兩個對象,所以我們這里在submitChanges的時候,無論你怎么改都是沒有效果的,數(shù)據(jù)庫中始終不會改變,My God ,或許你會覺得這誰不知道啊,但是往往我們真的會忽略這一點(diǎn),記得以前考試,往往都是難的題目基本上全對,但越簡單越容易的題目,卻會經(jīng)常犯錯,希望這些能對你有些啟發(fā)。

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

LINQ更新數(shù)據(jù)方法一:

      
      
      
  1. public void UpdateUser(User user) 
  2.     DataContext context = new DataContext("conn"); 
  3.             //從當(dāng)前context取 
  4.     User existsUser = context.Users.SingleOrDefault(e => e.ID.Equals(user.ID); 
  5.     existsUser.Name = user.Name; 
  6.             //............. 
  7.     context.SubmitChanges(); 
  8. }

LINQ更新數(shù)據(jù)方法二:

     
     
     
  1. //把context設(shè)成上下文公用的 
  2. DataContext context = new DataContext("conn"); 
  3. public void UpdateUser(User user) 
  4. {
  5.     User existsUser = GetUser(user.ID);            
  6.     existsUser.Name = user.Name; 
  7.             //............. 
  8.     context.SubmitChanges(); 
  9. }

好了,文章比較簡單,也或許你覺得不值得一提,目的也不是為了解決這個問題,希望大家能在做項(xiàng)目中,一定要仔細(xì),因?yàn)橥愕囊粋€小小的疏忽,會給項(xiàng)目、公司帶來不可預(yù)知的后果。


當(dāng)前文章:淺析LinqtoSQL更新數(shù)據(jù)時容易忽略的問題
當(dāng)前地址:http://m.5511xx.com/article/cdihosc.html