gpt4 book ai didi

c# - 在 ServiceStack.OrmLite 中更改表的别名运行时

转载 作者:太空宇宙 更新时间:2023-11-03 12:24:58 24 4
gpt4 key购买 nike

我有一个包含 IdentityDbContext 的应用程序,我想使用 ServiceStack.OrmLite 选择数据,我想知道如何更改别名

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 用于每种类型的表元数据,例如:

var tableMeta = type.GetModelMetadata();
tableMeta.Alias = "NewTableName";

关于c# - 在 ServiceStack.OrmLite 中更改表的别名运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45447153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com