【发布时间】:2019-10-25 07:48:37
【问题描述】:
我正在使用现有数据库的现有项目中实现 ASP.NET Core Identity。
我已经指定了用于IdentityUser 和IdentityRole 的实体,如下所示:
public partial class MyContext : IdentityDbContext<MyUser, MyRole, int>
在Startup.cs:
services.AddIdentity<MyUser, MyRole>(options =>
{
options.User.RequireUniqueEmail = true;
}).AddEntityFrameworkStores<MyContext>();
我能够成功地将迁移应用到数据库。但是,在检查 AspNetRole 表时,我可以看到 EF 创建了一些额外的列。
我如何告诉 EF Core 使用现有列(如上图中的 RoleId 用于 Id)而不是创建新列?
另外,我注意到 EF Core 将 MyRoles 表名更改为 AspNetRoles,MyUsers 表并非如此。 MyUsers 表名保持不变,即使如上所述创建了额外的列。这是为什么呢?
PS:我正在使用 DotNet Core 3.0 和 EF Core 3.0。
【问题讨论】:
标签: c# asp.net asp.net-core entity-framework-core