Entity framework core 实体框架核心-更改“的模式”__EFMigrationsHistory“;桌子
是否可以更改EntityFramework核心中Entity framework core 实体框架核心-更改“的模式”__EFMigrationsHistory“;桌子,entity-framework-core,Entity Framework Core,是否可以更改EntityFramework核心中\uu EFMigrationsHistory表的架构?查看源代码()。您可以在DbContext构造函数中配置自定义迁移表和架构名称 public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { var relationalOptions = RelationalOptionsExtension.Ext
\uu EFMigrationsHistory
表的架构?查看源代码()。您可以在DbContext构造函数中配置自定义迁移表和架构名称
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
{
var relationalOptions = RelationalOptionsExtension.Extract(options);
relationalOptions.MigrationsHistoryTableName = "bar";
relationalOptions.MigrationsHistoryTableSchema = "foo";
}
在调用UseSqlServer
时执行此操作
optionsBuilder
.UseSqlServer(
"...",
x => x.MigrationsHistoryTable(
HistoryRepository.DefaultTableName,
"mySchema"));
非常接近。我在回答中更进一步了。看起来MS将其更改为:WithMigrationHistoryTableName(“bar”)和WithMigrationHistoryTableSchema(“foo”),以防以后有人搜索它。@JasonRoner根据实现,这只是使用该属性集创建了一个新的RelationalOptions。我们如何将这个新对象吸收回我们的配置中?(文档中还指出,直接调用此函数是不常见的,我们被引用回DbContextOptionsBuilder,但没有关于如何实现相同效果的指导)很好。更简单。谢谢。@bricelam,然后你能更改迁移历史记录表的列名吗?@AlexBello回答。@bricelam在你回答之前,我专门创建了关于列名的内容。我不确定您是否也要在那里回答,以防其他专门搜索重命名列的人可以轻松找到它。
optionsBuilder
.UseSqlServer(
"...",
x => x.MigrationsHistoryTable(
HistoryRepository.DefaultTableName,
"mySchema"));