Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将外键添加到AspNetUser表_C#_Asp.net Core_Entity Framework Core_Entity Framework Migrations - Fatal编程技术网

C# 将外键添加到AspNetUser表

C# 将外键添加到AspNetUser表,c#,asp.net-core,entity-framework-core,entity-framework-migrations,C#,Asp.net Core,Entity Framework Core,Entity Framework Migrations,我已经创建了一个具有用户身份的ASP.NET Core Razor Pages应用程序 创建的项目包括添加所有用户表的迁移,例如AspNetUser和AspNetRoles。但是,它不会为这些表创建任何代码模型 现在,我已经创建了自己的实体模型,我希望其中一些模型具有AspNetUser表的外键 我该怎么做?平台是否在任何地方公开这些类?我是否需要手动创建模型并尝试使其与表完全匹配?或者,我如何访问用户的所有详细信息?默认标识使用IdentityUser,它不暴露于项目代码中,但您可以创建一个从

我已经创建了一个具有用户身份的ASP.NET Core Razor Pages应用程序

创建的项目包括添加所有用户表的迁移,例如
AspNetUser
AspNetRoles
。但是,它不会为这些表创建任何代码模型

现在,我已经创建了自己的实体模型,我希望其中一些模型具有
AspNetUser
表的外键


我该怎么做?平台是否在任何地方公开这些类?我是否需要手动创建模型并尝试使其与表完全匹配?或者,我如何访问用户的所有详细信息?

默认标识使用
IdentityUser
,它不暴露于项目代码中,但您可以创建一个从
IdentityUser
派生的新用户模型(例如
AppUser
),然后将外键添加到新用户模型中:

公共类AppUser:IdentityUser
{
public int AddressId{get;set;}
公共用户地址{get;set;}
}
公共类用户地址
{
公共int Id{get;set;}
// ...
公共字符串用户标识{get;set;}
公共AppUser用户{get;set;}
}
然后将启动中的IdentityUser替换为AppUser:

services.AddDefaultIdentity();

然后创建新的迁移以创建新的用户表。

我这样做了。但是当我运行该程序时,我得到一个异常:InvalidOperationException:没有注册类型为“Microsoft.AspNetCore.Identity.UserManager”的服务[1[Microsoft.AspNetCore.Identity.IdentityUser]”。不幸的是,我没有得到任何行号。我解决了这个问题。我不得不在_LoginPartial.cshtml中将对
IdentiyUser
的引用更改为
AppliationUser