在 ServiceStack.OrmLite 中更改 Table 的别名运行时
Change the Table's Alias name runtime in ServiceStack.OrmLite
我有一个包含 IdentityDbContext 的应用程序,我想使用 ServiceStack.OrmLite select 数据,我想知道如何更改别名
public class ApplicationDbContext : IdentityDbContext<User>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.Entity<User>().ToTable("User");
builder.Entity<IdentityRole>().ToTable("Role");
builder.Entity<IdentityUserRole<string>>().ToTable("UserRole");
builder.Entity<IdentityUserClaim<string>>().ToTable("UserClaim");
builder.Entity<IdentityUserLogin<string>>().ToTable("UserLogin");
}
}
我尝试了下面的代码,但它不起作用:
ModelDefinition<User>.Definition.Alias = "Users";
ModelDefinition<IdentityRole>.Definition.Alias = "Roles";
ModelDefinition<IdentityUserRole<string>>.Definition.Alias = "UserRoles";
ModelDefinition<IdentityUserClaim<string>>.Definition.Alias = "UserClaims";
ModelDefinition<IdentityUserLogin<string>>.Definition.Alias = "UserLogins";
您可以使用 GetModelMetadata()
扩展方法更改 OrmLite 为每种类型使用的 table 元数据,例如:
var tableMeta = type.GetModelMetadata();
tableMeta.Alias = "NewTableName";
我有一个包含 IdentityDbContext 的应用程序,我想使用 ServiceStack.OrmLite select 数据,我想知道如何更改别名
public class ApplicationDbContext : IdentityDbContext<User>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.Entity<User>().ToTable("User");
builder.Entity<IdentityRole>().ToTable("Role");
builder.Entity<IdentityUserRole<string>>().ToTable("UserRole");
builder.Entity<IdentityUserClaim<string>>().ToTable("UserClaim");
builder.Entity<IdentityUserLogin<string>>().ToTable("UserLogin");
}
}
我尝试了下面的代码,但它不起作用:
ModelDefinition<User>.Definition.Alias = "Users";
ModelDefinition<IdentityRole>.Definition.Alias = "Roles";
ModelDefinition<IdentityUserRole<string>>.Definition.Alias = "UserRoles";
ModelDefinition<IdentityUserClaim<string>>.Definition.Alias = "UserClaims";
ModelDefinition<IdentityUserLogin<string>>.Definition.Alias = "UserLogins";
您可以使用 GetModelMetadata()
扩展方法更改 OrmLite 为每种类型使用的 table 元数据,例如:
var tableMeta = type.GetModelMetadata();
tableMeta.Alias = "NewTableName";