gpt4 book ai didi

c# - ASP Core 违反了 String 类型参数 'TRole' 的约束

转载 作者:行者123 更新时间:2023-12-04 02:11:39 24 4
gpt4 key购买 nike

我正在尝试使用 openiddict和我的 ASP Core RC2 站点中的 EF 7。当我尝试使用 dotnet ef migrations add <name> 创建迁移时我收到以下错误:

System.ArgumentException: GenericArguments[1], 'System.String', on 'Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore`3[TUser,TRole,TContext]' violates the constraint of type 'TRole'. ---> System.TypeLoadException: GenericArguments[1], 'System.String', on 'Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore`4[TUser,TRole,TContext,TKey]' violates the constraint of type parameter 'TRole'.
at System.RuntimeTypeHandle.Instantiate(RuntimeTypeHandle handle, IntPtr* pInst, Int32 numGenericArgs, ObjectHandleOnStack type)
at System.RuntimeTypeHandle.Instantiate(Type[] inst)

在我的 Startup.cs 中,我有以下内容:

        services.AddIdentity<MyUser, string>()
.AddEntityFrameworkStores<MyContext>()
.AddDefaultTokenProviders()
.AddOpenIddict();

我的用户和上下文定义如下:

         public class MyUser : IdentityUser
{
}
public class MyContext : OpenIddictContext<MyUser>
{
}

我认为错误与我所说的使用字符串 string 有关。对于TRole。这是不允许的吗? TRole 支持哪些类型?

最佳答案

I think the error has something to do with the fact that I said to use string string for TRole. Is this not allowed? What types are supported for TRole?

不,不是。使用 ASP.NET Core Identity 的默认 Entity Framework 存储时,您的角色实体必须继承自 IdentityRole .

关于c# - ASP Core 违反了 String 类型参数 'TRole' 的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37557718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com