這篇文章主要講解了“怎么把數(shù)據(jù)從DB中取到ObjectContext中來”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么把數(shù)據(jù)從DB中取到ObjectContext中來”吧!
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了樅陽免費(fèi)建站歡迎大家使用!
寫一個(gè)更新類,把待更新的對(duì)象傳進(jìn)來,這個(gè)對(duì)象可能是客戶端對(duì)象,比如ExtJs中的JSON對(duì)象,或者是FLEX中的自定義的ActionScript對(duì)象,這些對(duì)象通過傳入后,進(jìn)行轉(zhuǎn)換后就成了服務(wù)器端的AEF實(shí)體對(duì)象。
那就需要把對(duì)象進(jìn)行更新,償試了很多方式,ADO代碼EF的數(shù)據(jù)模型還是比較麻煩的,必須要對(duì)EntityState等狀態(tài)控制有所了解,參見文頭的推薦地址。
要把一個(gè)“分離對(duì)象”更新到EF,然后更新到DB,一般是采用ApplyPropertyChanges()方法,此方法可以把對(duì)象進(jìn)行全部覆蓋,ADO代碼但有一個(gè)很重要的問題,在執(zhí)行此方法前,ObjectContext中必須要有此實(shí)列引用,如果沒有的話,就會(huì)報(bào)“ObjectStateManager 不包含具有對(duì)“ServiceLibrary.Department”類型的對(duì)象的引用的 ObjectStateEntry”的錯(cuò)。那么有兩種方法,
通過主鍵,把數(shù)據(jù)從DB中取到ObjectContext中來。這樣的話,是最簡單的,只是感覺在更新前,還要執(zhí)行一次“獲取”,ADO代碼在性能上很不爽。不過,畢竟是Key獲取,相信幾百萬的數(shù)量級(jí)也不會(huì)有大問題的。此方法還是我推薦的:如下
具體的ADO代碼如下:
public string UpdateDepartment(Department dept) { using (var db = new FlexDbEntities()) { //這句語句千萬要有?。。?!。 Department o1 = db.Department.First(p => p.Id == dept.Id); db.ApplyPropertyChanges("Department",dept); db.SaveChanges(); } }
感謝各位的閱讀,以上就是“怎么把數(shù)據(jù)從DB中取到ObjectContext中來”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)怎么把數(shù)據(jù)從DB中取到ObjectContext中來這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
網(wǎng)站欄目:怎么把數(shù)據(jù)從DB中取到ObjectContext中來
文章網(wǎng)址:http://jinyejixie.com/article16/ppidgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、服務(wù)器托管、企業(yè)建站、微信公眾號(hào)、App設(shè)計(jì)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)