更改 EF Core 中的 MigrationsHistoryTable 列名称

2023-12-07

我在 EF Core 数据库中有一个标准化的所有表和列名称,以使用 Snake_case。我能够更改迁移历史记录表名称和架构以匹配数据库的其余部分,但我无法找到更改列的方法MigrationId to migration_id and ProductVersion to product_version.

关于如何做到这一点有什么想法吗?


以下是如何在 SQL Server 上执行此操作的示例。

首先,创建一个自定义实现SqlServerHistoryRepository压倒性的ConfigureTable.

class MyHistoryRepository : SqlServerHistoryRepository
{
    public MyHistoryRepository(
        IDatabaseCreator databaseCreator, IRawSqlCommandBuilder rawSqlCommandBuilder,
        ISqlServerConnection connection, IDbContextOptions options,
        IMigrationsModelDiffer modelDiffer,
        IMigrationsSqlGenerator migrationsSqlGenerator,
        IRelationalAnnotationProvider annotations,
        ISqlGenerationHelper sqlGenerationHelper)
        : base(databaseCreator, rawSqlCommandBuilder, connection, options,
            modelDiffer, migrationsSqlGenerator, annotations, sqlGenerationHelper)
    {
    }

    protected override void ConfigureTable(EntityTypeBuilder<HistoryRow> history)
    {
        base.ConfigureTable(history);

        history.Property(h => h.MigrationId).HasColumnName("migration_id");
        history.Property(h => h.ProductVersion).HasColumnName("product_version");
    }
}

然后用您的自定义实现替换替换服务。

protected override void OnConfiguring(DbContextOptionsBuilder options)
    => options
        .UseSqlServer(connectionString)
        .ReplaceService<SqlServerHistoryRepository, MyHistoryRepository>();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 EF Core 中的 MigrationsHistoryTable 列名称 的相关文章

随机推荐

  • 在目标包含源的情况下使用 strncpy()

    我用 C 编写了一个函数来修剪字符串中的空白字符 我关心的是最后一行trim 下面的函数 其中源包含在目标中 测试用例以及其他一些测试结果都很好 复制源和目标位于同一内存中的字符串的全部或部分会导致奇怪的问题吗 源代码 include
  • ORM 学说中的 Substring_index 函数

    我必须使用SUBSTRING INDEXsymfony 2 中的学说 ORM 函数 我该怎么做 现在在查询中使用它会出现未定义的函数错误 Syntax Error line 0 col 299 Error Expected known fu
  • Django:模板中的嵌套变量

    在我的 django 登录模板之一中 有一行
  • 将 ImageData 对象(不是画布)转换为图像 dataURL

    我想从 ImageData 对象 即宽度 高度 数据 创建 dataURL 我意识到画布有这个 但我想避免扭曲画布使用 主要是alpha预乘 即我想避免明显的canvas putImageData步骤 From 这个帖子我可以将任何 arr
  • TensorFlow 图内复制示例

    我想在具有多个 ps 和工作线程的多 GPU 集群中试验 TensorFlow 的图内复制 这CIFAR 10 多 GPU 示例图中显示了单台机器上的同步复制 有没有可用的示例可供我参考 例如图间训练的示例训练程序 一般来说 对于分布式训练
  • 如何在 WSO2 Micro Integrator 中跳过 CSV 文件中的标题

    我正在使用 smooks mediator 使用 VFS 将 csv 文件转换为 json 我们可以选择在使用 CSV 连接器 模块时跳过标题行 使用 smooks 在 WSO2 Integration studio 中处理文件时如何跳过第
  • 如何获取每个外键的最小日期记录的记录 ID?

    我有下表 recordID createdDate ForeignKeyID 00QA000000PtFXaMAN 2012 01 03 13 23 36 000 001A000000ngM21IAE 00QA000000OS2QiMAL
  • REST Web api URL GET 使用字符串而不是 id 未按预期路由

    我有以下示例 其中请求是http domain api foo username 但我收到了 404 状态代码 此控制器上不存在其他 Get 操作 这不应该起作用吗 public class FooController ApiControl
  • 使用 Swift 进行水平滚动

    我怎样才能找到教程或其他东西来帮助我创建这样的东西可滚动的下图中使用 Swift 标记的区域 谢谢 None
  • 如何使用vbs或批处理脚本在特定时间关闭电脑

    我想要一个脚本放在启动文件夹中并且不使用任务计划程序 If time gt 22 00 hrs shutdown if startup after 10pm Shutdown s f break While time 22 00hrs lo
  • 使用 JavaFx Scene Builder 2.0 “全屏”同时显示两个窗口

    我正在开发一个迷你应用程序 我需要在全屏上同时向用户显示 2 个窗口 该应用程序将为双屏用户制作 我正在 NetBeans 8 0 1 上使用 JavaFx Scene Builder 2 0 我尝试了这个 但只有第二个窗口显示在全屏上 p
  • 当另一个表中值为 null 时重定向到页面 laravel

    如果我的additional infos 表包含一些在本例中为空的内容 联系人 姓名和地址 我会尝试将用户重定向到另一个页面 我现在已经做了类似的事情 但即使联系人 姓名和地址已填写 它仍然将我重定向到另一个页面 有人能帮我吗 提前致谢 p
  • 在 R 循环中命名文件

    我有多个音频文件 它们保存在我的工作目录中的几个子文件夹中 我有一个循环 它读取每个文件的第一分钟 然后将它们保存为新文件 library tuneR dir create New files FILES lt list files PAT
  • 在循环中调用 utl_file.put 时 UTL_FILE.WRITE_ERROR

    我的 PL SQL 过程中有以下代码 我在 API XXX put 中调用了它 它调用utl file put 在 while 循环中 l xmldoc 是来自 getReportXML 函数的 CLOB 该函数返回 xml clob 我编
  • Android 首选项:当用户未使用首选项屏幕时如何加载默认值?

    我正在使用 PreferenceActivity 让用户设置一些值 我正在向它提供具有定义的首选项的 xml 文件 我已经设置了所有android defaultValue 对于他们来说 当我启动应用程序时 我需要首选项 或者如果尚未手动设
  • 简化自然色的漂亮印刷

    假设我编写了一个用于反转列表的函数 我想用value命令 只是为了向自己保证我可能做对了 但输出看起来很糟糕 value reverse 1 8 3 gt 1 1 1 1 1 1 1 1 1 1 1 1 a list 如果我告诉伊莎贝尔将这
  • attr 作为 css 选择器中的属性[重复]

    这个问题在这里已经有答案了 可能的重复 按样式属性的 CSS 选择器 html div div 在CSS中我想使用这个家庭值 例子 div font family attr data family Family 可以是任何字符串 如何让它发
  • 将 TabItem 添加到现有 TabControl WPF/MVVM

    I have TabControl已经定义了一些TabItems on XAML 我需要创建新的TabItems并添加到其中 如果我使用ItemSource我得到一个例外Items collection must be empty befo
  • 我可以在 PHP 中使用运算符作为函数回调吗?

    假设我有以下功能 function mul return array reduce func get args 是否可以使用 运算符作为回调函数 还有其他办法吗 在这种特定情况下 使用array product function mul r
  • 更改 EF Core 中的 MigrationsHistoryTable 列名称

    我在 EF Core 数据库中有一个标准化的所有表和列名称 以使用 Snake case 我能够更改迁移历史记录表名称和架构以匹配数据库的其余部分 但我无法找到更改列的方法MigrationId to migration id and Pr