为了账号安全,请及时绑定邮箱和手机立即绑定

无法创建 IdentityUserClaim 类型的常量值

无法创建 IdentityUserClaim 类型的常量值

C#
慕斯王 2021-06-24 18:01:28
我知道你必须说这篇文章是重复的,但我已经去了多个帖子,答案对我的代码不起作用。这是一个 Asp net web api 服务器。看一看:    // 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 中出现类型为“System.NotSupportedException”的异常,但未在用户代码中处理附加信息:无法创建类型为“Microsoft.AspNet.Identity.EntityFramework.IdentityUserClaim”的常量值。在此上下文中仅支持原始类型或枚举类型。在我的测试中,我意识到错误在这个块中:claims.Any(c => v.Id == int.Parse(c.ClaimValue))如果我将其更改为 5 或其他任何内容,它就可以工作!
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 102 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号