我知道你必須說這篇文章是重復的,但我已經去了多個帖子,答案對我的代碼不起作用。這是一個 Asp net web api 服務器??匆豢矗?nbsp; // GET: api/Vessels [HttpGet, Route(""), Route("{assets}")] public IQueryable<Vessel> GetVessels(string assets = "all") { var user = GetUser(); if (IsAdmin(user)) { return assets == "all" ? GetChildren(db.Vessels) : db.Vessels; } var claims = user.Claims .Where(c => c.ClaimType == "vessel") .ToList(); var vessels = db.Vessels .Where(v => claims.Any(c => v.Id == int.Parse(c.ClaimValue))) .toList(); // will evaluate the query and get error return assets == "all" ? GetChildren(vessels) : vessels; }這是例外:EntityFramework.SqlServer.dll 中出現(xiàn)類型為“System.NotSupportedException”的異常,但未在用戶代碼中處理附加信息:無法創(chuàng)建類型為“Microsoft.AspNet.Identity.EntityFramework.IdentityUserClaim”的常量值。在此上下文中僅支持原始類型或枚舉類型。在我的測試中,我意識到錯誤在這個塊中:claims.Any(c => v.Id == int.Parse(c.ClaimValue))如果我將其更改為 5 或其他任何內容,它就可以工作!
- 2 回答
- 0 關注
- 108 瀏覽
添加回答
舉報
0/150
提交
取消