ASP Core違反了String類型參數'TRole'的約束

asp.net-core asp.net-identity c# entity-framework-core

我正在嘗試在我的ASP Core RC2站點中使用openiddict和EF 7。當我嘗試使用dotnet ef migrations add <name>創建遷移時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支持哪些類型?

熱門答案

我認為錯誤與我說使用字符串字符串TRole的事實有關。這是不允許的? TRole支持哪些類型?

不,不是。使用ASP.NET Core Identity的默認實體框架存儲時,您的角色實體必須從IdentityRole繼承。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因