当前位置 : 主页 > 编程语言 > c语言 >

c# – EF Core 2.1.将自定义列添加到MigrationHistory表

来源:互联网 收集:自由互联 发布时间:2021-06-25
我使用EF Core 2.1 Code-First. SELECT * FROM [dbo].[__ MigrationsHistory]从2列返回表 MigrationId ProductVersion 我正在寻找一种方法来添加一个名为AppliedOn的列,它将存储迁移实际应用于数据库的时间. 你可
我使用EF Core 2.1 Code-First.

SELECT * FROM [dbo].[__ MigrationsHistory]从2列返回表

> MigrationId
> ProductVersion

我正在寻找一种方法来添加一个名为AppliedOn的列,它将存储迁移实际应用于数据库的时间.

你可以在SQL中做到这一点:

alter table [dbo].[__MigrationHistory] add AppliedOn Datetime default getdate()

当EF将迁移应用于数据库时,它会在表__MigrationHistory中插入一行.此SQL脚本在getDate()中将ApplicationOn列添加为默认值.插入行时,该列将包含此插入的当前日期时间.

或者,您可以使用EF Migration执行相同的操作:

通过添加到第一次迁移(或新迁移):

public partial class Intial : Migration
{
    protected override void Up(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.AddColumn<DateTime>(
            name: "AppliedOnUtc",
            schema: "Conversations",
            table: "__MigrationsHistory",                
            defaultValueSql: "GETUTCDATE()"
        );
    }
     ....
}
网友评论