![](/img/trans.png)
[英]ASP.NET Core 2.1 - IdentityUser Issue - Cannot create a DbSet for 'IdentityUser' this type is not included in the model for the context
[英]Changing IdentityUser Type in ASP.NET Core 2.1
我希望我的User
有一個Guid
作為主鍵,但是當我創建自己的用戶類型時,我的網站會在啟動時拋出異常。
任何人都知道如何更改IdentityUser類型?
我這樣做了:
services.AddIdentity<MyUser, MyRole>()
.AddEntityFrameworkStores<UBContext>()
.AddDefaultUI()
.AddDefaultTokenProviders();
但是當我的程序啟動時,我收到此錯誤:
InvalidOperationException:沒有注冊類型為“Microsoft.AspNetCore.Identity.UserManager`1 [Microsoft.AspNetCore.Identity.IdentityUser]”的服務。
這是否與身份UI現在位於單獨的lib並且該lib中的控制器期望UserManager<IdentityUser>
這一事實有關?
我怎樣才能覆蓋它?
好的,所以發現了問題。 _LoginPartial.cshtml注入
@inject SignInManager<IdentityUser>
@inject UserManager<IdentityUser>
所以你需要確保它們已更新到
@inject SignInManager<MyUser>
@inject UserManager<MyUser>
您應該從MyUser
類擴展IdentityUser
:
public class MyUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
然后注冊新的用戶類:
services.AddIdentity<MyUser , MyRole>()
最后,在注入UserManager
位置,添加您自己的類型:
public HomeController(UserManager<MyUser> userManager) { }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.