在ASP.NET Core 2.1中更改IdentityUser类型

Zeu*_*s82 6 c# entity-framework-core asp.net-core asp.net-core-2.1

我希望我User有一个Guid主键,但是当我创建自己的用户类型时,我的网站会在启动时抛出异常.

任何人都知道如何更改IdentityUser类型?

我这样做了:

services.AddIdentity<MyUser, MyRole>()
    .AddEntityFrameworkStores<UBContext>()
    .AddDefaultUI()
    .AddDefaultTokenProviders();
Run Code Online (Sandbox Code Playgroud)

但是当我的程序启动时,我收到此错误:

InvalidOperationException:没有注册类型为"Microsoft.AspNetCore.Identity.UserManager`1 [Microsoft.AspNetCore.Identity.IdentityUser]"的服务.

这是否与身份UI现在位于单独的lib并且该lib中的控制器期待UserManager<IdentityUser>?的事实有关?

我怎样才能覆盖它?

Zeu*_*s82 14

好的,所以发现了问题._LoginPartial.cshtml注入

@inject SignInManager<IdentityUser>
@inject UserManager<IdentityUser>
Run Code Online (Sandbox Code Playgroud)

所以你需要确保它们已更新到

@inject SignInManager<MyUser>
@inject UserManager<MyUser>
Run Code Online (Sandbox Code Playgroud)