A.M*_*lls 2 asp.net entity-framework entity-framework-core
我有我的DBContext扩展IdentityDbContext但是,当查看抽象类IdentityDbContext时,我看到像'UserRoles'和'RoleClaims'等DbSets.
问题是,当我构建数据库时,表格显示为'ASPNetUserRoles',而不仅仅是'UserRoles'.有谁知道如何避免这种情况?
从源代码中可以看出,这些是基本IdentityDbContext流畅配置中的硬编码.
你可以做的是覆盖OnModelCreating(如果你还没有),调用基础实现,然后循环模型实体类型并从表名中删除前缀.
像这样的东西:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
foreach (var entityType in modelBuilder.Model.GetEntityTypes())
{
const string TableNamePrefix = "AspNet";
var tableName = entityType.Relational().TableName;
if (tableName.StartsWith(TableNamePrefix))
entityType.Relational().TableName = tableName.Substring(TableNamePrefix.Length);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
242 次 |
| 最近记录: |