重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
這篇文章主要講解了“怎么把數據從DB中取到ObjectContext中來”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么把數據從DB中取到ObjectContext中來”吧!
網站建設哪家好,找創新互聯!專注于網頁設計、網站建設、微信開發、微信小程序定制開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了樅陽免費建站歡迎大家使用!
寫一個更新類,把待更新的對象傳進來,這個對象可能是客戶端對象,比如ExtJs中的JSON對象,或者是FLEX中的自定義的ActionScript對象,這些對象通過傳入后,進行轉換后就成了服務器端的AEF實體對象。
那就需要把對象進行更新,償試了很多方式,ADO代碼EF的數據模型還是比較麻煩的,必須要對EntityState等狀態控制有所了解,參見文頭的推薦地址。
要把一個“分離對象”更新到EF,然后更新到DB,一般是采用ApplyPropertyChanges()方法,此方法可以把對象進行全部覆蓋,ADO代碼但有一個很重要的問題,在執行此方法前,ObjectContext中必須要有此實列引用,如果沒有的話,就會報“ObjectStateManager 不包含具有對“ServiceLibrary.Department”類型的對象的引用的 ObjectStateEntry”的錯。那么有兩種方法,
通過主鍵,把數據從DB中取到ObjectContext中來。這樣的話,是最簡單的,只是感覺在更新前,還要執行一次“獲取”,ADO代碼在性能上很不爽。不過,畢竟是Key獲取,相信幾百萬的數量級也不會有大問題的。此方法還是我推薦的:如下
具體的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(); } }
感謝各位的閱讀,以上就是“怎么把數據從DB中取到ObjectContext中來”的內容了,經過本文的學習后,相信大家對怎么把數據從DB中取到ObjectContext中來這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創新互聯,小編將為大家推送更多相關知識點的文章,歡迎關注!