我正在使用 ASP .NET Core 3.0 和 Angular 项目。我看到了这个新的 ApiAuthorizationDbContext
,想要覆盖表名和用户 ID(转为 int 类型),但是我找不到任何方法来实现它。是否有人知道诀窍?
这是上下文的类,用于覆盖表名,但它创建了 AspNetUser
和 User
表。为什么它不像通常一样只创建一个表呢?
public class ApplicationDbContext : ApiAuthorizationDbContext<AppUser>
{
public ApplicationDbContext(
DbContextOptions options,
IOptions<OperationalStoreOptions> operationalStoreOptions) : base(options, operationalStoreOptions)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<AppUser>(entity => { entity.ToTable(name: "User"); });
modelBuilder.Entity<AppRole>(entity => { entity.ToTable(name: "Role"); });
}
}
这是我的用户:
public class AppUser : IdentityUser
{
}
通常我会使用 AppUser<int>
覆盖主键,但由于 ApiAuthorizationDbContext
的原因,这种方法不起作用。
有任何想法吗?
var db = new ApplicationDbContext(); db.Add( ... ); db.SaveChangesAsync()
?还是现在必须始终通过 DI 注入 DbContext?2)是否有人有一个使用此功能的托管 Blazor Wasm 项目示例,我可以查看以确保我的实现有效?谢谢! - Webreaper