<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [EF]Entity Framework 4.1亂拋EntitySqlException的BUG

      Entity Framework 4.1亂拋EntitySqlException的BUG

      羅朝輝 (http://kesalin.cnblogs.com/)

      本文遵循“署名-非商業(yè)用途-保持一致”創(chuàng)作公用協(xié)議
       

      今天在使用 Entity Framework 處理并發(fā)沖突時(shí),碰到一個(gè)奇怪的BUG:

      引發(fā) BUG 的代碼:

       

          try

                  {

                      if (ModelState.IsValid)

                      {

                          db.Entry(entityObject).State = EntityState.Modified;

                          db.SaveChanges();

                          return RedirectToAction("Index");

                      }

                  }

                  catch (DbUpdateConcurrencyException ex)

                  {

               var entry = ex.Entries.Single();

                      var databaseValues = (XXXProject.Models.XXXEntity)entry.GetDatabaseValues().ToObject();

                      var clientValues = ( XXXProject .Models. XXXEntity )entry.Entity;

                      ......

                  }

       

      BUG現(xiàn)象:

       

      EntitySqlException: Type 'XXXProject.Models.XXXEntity' could not be found. Make sure that the required schemas are loaded and that the namespaces are imported correctly.

       

       

      BUG原因:

      DBContext 實(shí)例和 Model entity 不在同一個(gè)命名空間下,Entity Framework 4.1 中的 GetDatabaseValues()就會(huì)拋出異常。經(jīng)查證,這是 Entity Framework 4.1 的一個(gè)BUG,詳細(xì)討論請(qǐng)參看:這里。

       

      解決方案之一:

      var clientValues = (Department)entry.CurrentValues.Clone().ToObject();

      entry.Reload();

      var databaseValues = (Department)entry.CurrentValues.ToObject();

      這樣就避開了對(duì) GetDatabaseValues()的調(diào)用,而同時(shí)能獲取到客戶端的值以及服務(wù)器端的值。唯一要注意的是 entry 已經(jīng)重新 Reload 了,之前客戶端做出的修改如果想要保持就得在 Reload 之前備份。

       

      解決方案之二:

      將 DBContext 實(shí)例和 Model entity 放到同一個(gè)命名空間下,這樣就滿足 GetDatabaseValues() 的約束條件了。

      不推薦使用這種方案,因?yàn)檫@樣修改代碼較多,且違背分層隔離原則。

      posted @ 2012-04-07 11:12  飄飄白云  閱讀(1566)  評(píng)論(0)    收藏  舉報(bào)
      本博客遵循 Creative Commons License “署名-非商業(yè)用途-保持一致”創(chuàng)作共用協(xié)議。 與我聯(lián)系
      主站蜘蛛池模板: 日韩人妻一区中文字幕| 亚洲av本道一区二区| 国产乱久久亚洲国产精品| 亚洲阿v天堂网2021| 国产婷婷综合在线视频| 日韩不卡在线观看视频不卡| 久久精品国产亚洲av麻| 亚洲深夜精品在线观看| 久久精品无码av| 亚洲欧美偷国产日韩| 精品亚洲国产成人av制服| 全球成人中文在线| 国产极品美女高潮无套| 日韩高清视频 一区二区| 性欧美VIDEOFREE高清大喷水 | 亚洲国产精品高清久久久| 免费午夜无码片在线观看影院| 亚洲综合国产激情另类一区| 内射干少妇亚洲69XXX| 精品人妻伦一二二区久久| 日韩精品亚洲aⅴ在线影院| 午夜国产小视频| 国产亚洲人成网站观看| 99久久精品久久久久久婷婷| 亚洲一区二区三区av激情| 国产女高清在线看免费观看 | 国内外精品激情刺激在线| 久久亚洲精品无码播放| 亚洲中文字幕无码久久精品1| 亚洲精品一区二区三天美| 成人无码特黄特黄AV片在线| 极品少妇无套内射视频| 国产精品无码素人福利不卡| 国产欧美日韩视频怡春院| 午夜毛片不卡免费观看视频| 最近中文字幕日韩有码| 日韩有码国产精品一区| 亚洲国产一区二区三区| 巨胸美乳无码人妻视频漫画| 亚洲色成人一区二区三区人人澡人人妻人人爽人人蜜桃麻豆 | 亚洲一区二区三区自拍公司|