日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

EF-InvalidOperation系列

發(fā)布時(shí)間:2025/5/22 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EF-InvalidOperation系列 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.InvalidOperation強(qiáng)制轉(zhuǎn)換為值類型 'System.Guid' 失敗,因?yàn)閷?shí)例化的值為 null。結(jié)果類型的泛型參數(shù)或查詢必須使用可以為 null 的類型

?

錯(cuò)誤信息:

The cast to value type 'System.Guid' failed because the materialized value is null. Either the result type's generic parameter or the query must use a nullable type

強(qiáng)制轉(zhuǎn)換為值類型 'System.Guid' 失敗,因?yàn)閷?shí)例化的值為 null。結(jié)果類型的泛型參數(shù)或查詢必須使用可以為 null 的類型

解決:把guid設(shè)置為guid? 具體看圖

?

————————————————————————————————————————————————————————————————————————————————————————————

2.【折中的解決方案】System.InvalidOperationException因?yàn)橄嗤愋偷钠渌麑?shí)體已具有相同的主鍵值

【錯(cuò)誤信息】:System.InvalidOperationException: 附加類型“LoT.Model.ArticleType”的實(shí)體失敗,因?yàn)橄嗤愋偷钠渌麑?shí)體已具有相同的主鍵值。在使用 "Attach" 方法或者將實(shí)體的狀態(tài)設(shè)置為 "Unchanged" 或 "Modified" 時(shí)如果圖形中的任何實(shí)體具有沖突鍵值,則可能會(huì)發(fā)生上述行為。這可能是因?yàn)槟承?shí)體是新的并且尚未接收數(shù)據(jù)庫(kù)生成的鍵值。在此情況下,使用 "Add" 方法或者 "Added" 實(shí)體狀態(tài)跟蹤該圖形,然后將非新實(shí)體的狀態(tài)相應(yīng)設(shè)置為 "Unchanged" 或 "Modified"。

【原因+解決】在更新之前通過(guò)這個(gè)id查詢過(guò)Model,然后再更新了,EF不知道你到底想干什么(有兩個(gè)model),所以就報(bào)錯(cuò)了

最簡(jiǎn)單的方法,你已經(jīng)查了,那么用你查出來(lái)的實(shí)體來(lái)存儲(chǔ)更新后的數(shù)據(jù),這樣id一致而且還省下資源

?具體看圖:

原來(lái)寫法:

?

修改后:

?

------網(wǎng)友方法:

用 AsNoTracking 提醒EF不要跟蹤
return db.EntitySet.AsNoTracking().Where(x => x.BillNo == billNo);

-------------------------Log_Header-------------------------
2015-03-19 00:05:00,598 [12] ERROR log - System.InvalidOperationException: 附加類型“LoT.Model.ArticleType”的實(shí)體失敗,因?yàn)橄嗤愋偷钠渌麑?shí)體已具有相同的主鍵值。在使用 "Attach" 方法或者將實(shí)體的狀態(tài)設(shè)置為 "Unchanged" 或 "Modified" 時(shí)如果圖形中的任何實(shí)體具有沖突鍵值,則可能會(huì)發(fā)生上述行為。這可能是因?yàn)槟承?shí)體是新的并且尚未接收數(shù)據(jù)庫(kù)生成的鍵值。在此情況下,使用 "Add" 方法或者 "Added" 實(shí)體狀態(tài)跟蹤該圖形,然后將非新實(shí)體的狀態(tài)相應(yīng)設(shè)置為 "Unchanged" 或 "Modified"。
在 System.Data.Entity.Core.Objects.ObjectContext.VerifyRootForAdd(Boolean doAttach, String entitySetName, IEntityWrapper wrappedEntity, EntityEntry existingEntry, EntitySet& entitySet, Boolean& isNoOperation)
在 System.Data.Entity.Core.Objects.ObjectContext.AttachTo(String entitySetName, Object entity)
在 System.Data.Entity.Internal.Linq.InternalSet`1.<>c__DisplayClass2.<Attach>b__1()
在 System.Data.Entity.Internal.Linq.InternalSet`1.ActOnSet(Action action, EntityState newState, Object entity, String methodName)
在 System.Data.Entity.Internal.Linq.InternalSet`1.Attach(Object entity)
在 System.Data.Entity.Internal.InternalEntityEntry.set_State(EntityState value)
在 System.Data.Entity.Infrastructure.DbEntityEntry`1.set_State(EntityState value)
在 LoT.Dal.BaseDal`1.UpdateModel(T model) 位置 c:\Users\DNT\Desktop\LoTCode\LoTBlog\LoT.Dal\BaseDal.cs:行號(hào) 77
在 LoT.Service.BaseService`1.UpdateModel(T model) 位置 c:\Users\DNT\Desktop\LoTCode\LoTBlog\LoT.Service\BaseService.cs:行號(hào) 63
在 LoTBlog.Back.Controllers.ArticleTypeController.Update(String Name, Nullable`1 Pid, Int32 Status, Int32 Id) 位置 c:\Users\DNT\Desktop\LoTCode\LoTBlog\LoTBlog.Back\Controllers\ArticleTypeController.cs:行號(hào) 147
在 lambda_method(Closure , ControllerBase , Object[] )
在 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
在 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
在 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41()
在 System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _)
在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33()
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49()
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.<BeginInvokeActionMethodWithFilters>b__36(IAsyncResult asyncResult)
在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<>c__DisplayClass2a.<BeginInvokeAction>b__20()
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult)

-------------------------Log_Header-------------------------
2015-03-19 00:10:20,296 [7] ERROR log - System.InvalidOperationException: 附加類型“LoT.Model.ArticleType”的實(shí)體失敗,因?yàn)橄嗤愋偷钠渌麑?shí)體已具有相同的主鍵值。在使用 "Attach" 方法或者將實(shí)體的狀態(tài)設(shè)置為 "Unchanged" 或 "Modified" 時(shí)如果圖形中的任何實(shí)體具有沖突鍵值,則可能會(huì)發(fā)生上述行為。這可能是因?yàn)槟承?shí)體是新的并且尚未接收數(shù)據(jù)庫(kù)生成的鍵值。在此情況下,使用 "Add" 方法或者 "Added" 實(shí)體狀態(tài)跟蹤該圖形,然后將非新實(shí)體的狀態(tài)相應(yīng)設(shè)置為 "Unchanged" 或 "Modified"。
在 System.Data.Entity.Core.Objects.ObjectContext.VerifyRootForAdd(Boolean doAttach, String entitySetName, IEntityWrapper wrappedEntity, EntityEntry existingEntry, EntitySet& entitySet, Boolean& isNoOperation)
在 System.Data.Entity.Core.Objects.ObjectContext.AttachTo(String entitySetName, Object entity)
在 System.Data.Entity.Internal.Linq.InternalSet`1.<>c__DisplayClass2.<Attach>b__1()
在 System.Data.Entity.Internal.Linq.InternalSet`1.ActOnSet(Action action, EntityState newState, Object entity, String methodName)
在 System.Data.Entity.Internal.Linq.InternalSet`1.Attach(Object entity)
在 System.Data.Entity.Internal.InternalEntityEntry.set_State(EntityState value)
在 System.Data.Entity.Infrastructure.DbEntityEntry`1.set_State(EntityState value)
在 LoT.Dal.BaseDal`1.UpdateModel(T model) 位置 c:\Users\DNT\Desktop\LoTCode\LoTBlog\LoT.Dal\BaseDal.cs:行號(hào) 77
在 LoT.Service.BaseService`1.UpdateModel(T model) 位置 c:\Users\DNT\Desktop\LoTCode\LoTBlog\LoT.Service\BaseService.cs:行號(hào) 63
在 LoTBlog.Back.Controllers.ArticleTypeController.Update(String Name, Nullable`1 Pid, Int32 Status, Int32 Id) 位置 c:\Users\DNT\Desktop\LoTCode\LoTBlog\LoTBlog.Back\Controllers\ArticleTypeController.cs:行號(hào) 146
在 lambda_method(Closure , ControllerBase , Object[] )
在 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
在 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
在 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41()
在 System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _)
在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33()
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49()
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.<BeginInvokeActionMethodWithFilters>b__36(IAsyncResult asyncResult)
在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<>c__DisplayClass2a.<BeginInvokeAction>b__20()
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult)

?

總結(jié)

以上是生活随笔為你收集整理的EF-InvalidOperation系列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日日躁夜夜躁狠狠躁 | 欧美日韩激情视频在线观看 | 国产调教打屁股xxxx网站 | 日韩在线观看视频一区 | 麻豆av免费在线观看 | 岛国av大片 | 国产在线1区 | 成人18网站| 精品深夜av无码一区二区老年 | 国产一区二区三区黄片 | 啪啪在线观看 | 免费久久久久久 | 亚洲色图综合 | 亚洲美女啪啪 | 欧美成人精品一区二区综合免费 | 99国产精品白浆在线观看免费 | 久久99一区二区 | 国产人伦精品一区二区三区 | 香蕉久久影院 | 日本伦理一区二区 | 91久久精品日日躁夜夜躁国产 | 久操视频免费看 | 欧美片网站免费 | 亚洲蜜臀av乱码久久精品蜜桃 | 午夜视频欧美 | 青青青国产精品一区二区 | 精品视频免费 | 日本xxxxxxxxx | 另类小说av| 欧美日本另类 | 91草视频 | 成熟的女同志hd | 亚洲大成色 | 日韩国产精品久久 | 一级大片黄色 | 永久免费无码av网站在线观看 | 亚洲高清视频免费观看 | 黄色精品在线 | 香港三级日本三级 | 四虎在线观看视频 | 亚洲精品网站在线播放gif | 日韩视频第一页 | 年下总裁被打光屁股sp | 精品影视一区二区 | 日本不卡视频在线播放 | 久久午夜影院 | 青青草视频网站 | 欧美激情视频在线观看 | 不卡欧美 | 91午夜精品 | 精品三级| 国产在线免费视频 | 男女做爰真人视频直播 | 欧美老熟妇一区二区三区 | 色婷婷狠狠操 | a毛毛片 | 亚洲无吗视频 | 妖精视频一区二区三区 | 俺去日 | 亚洲天堂手机在线 | 最近中文字幕在线视频 | xxxx69视频| 成人免费黄色大片 | 成人爽a毛片一区二区 | 亚洲女人毛茸茸 | 午夜av免费看 | 国产精品日韩在线 | 在线a毛片 | 欧美变态口味重另类 | 波多野在线观看 | 丁香婷婷在线 | 久久传媒| 欧美福利一区二区三区 | 播播开心激情网 | julia在线播放88mav | 91免费成人 | 少妇aaaa| 嫩草嫩草嫩草嫩草 | aaa黄色大片 | 在线观看视频国产 | 日日夜夜操操操 | 综合视频一区二区 | 国产乱码精品一区二区三区中文 | 黄色片91| 中文字幕日韩在线播放 | 美女中文字幕 | 成人在线激情视频 | xxxx在线视频 | 天堂在线视频 | 电车痴汉在线观看 | 国产乱码在线观看 | 有码一区 | 国产精品久久久影院 | 天天看片中文字幕 | 欧美综合在线一区 | 激情国产在线 | 婷婷在线免费观看 | 欧美人体做爰大胆视频 | 尤物久久 |