【发布时间】:2019-08-29 07:09:34
【问题描述】:
背景
我有一个用 C# 和 ASP.NET 核心 (v2.2) 编写的项目。该项目连接到一个数据库,该数据库包含一个名为“AspNetUsers”的表。构建策略是“数据库优先”。
我正在使用以下命令从数据中构建模型:
Scaffold-DbContext "...DB-CS..." PROVIDER -Context UsersDB -f -OutputDir Processes\Models
然后它为我创建了这个映射类:
public partial class AspNetUsers
{
public AspNetUsers()
{
}
public string Id { get; set; }
public DateTime RegistrationTime { get; set; }
// ...
}
在我的网站上,我使用的是 UserManager 类。此类期望获得一个继承自 IdentityUser 接口的 Object。
问题:
这是否可以让我的AspNetUsers 类实现IdentityUser?
谢谢!
更新 #1
感谢@Darjan Bogdan 的回答,我创建了这个新文件:
public partial class AspNetUsers : IdentityUser
{
}
并将我的UserManager 更改为如下所示:
private UserManager<AspNetUsers> UserManager { get; set; }
乍一看,它看起来像工作。当深入检查时 - 我遇到了许多奇怪的错误,例如:
User security stamp cannot be null.
虽然 AspNetUsers 实例 具有 SecuriyStamp 字段(非空)。
我检查了AspNetUsers 文件(自动生成),似乎有些属性隐藏另一个。
问题:我在数据库优先模型中工作。因此,AspNetUsers 文件是自动生成的。如何避免隐藏其他属性?
【问题讨论】:
标签: c# asp.net asp.net-core asp.net-membership