如何在Entity Framework __MigrationHistory中添加新列(并填充它)

时间:2015-12-21 21:06:31

标签: c# entity-framework

我使用Entity Framework 6,我的情况非常简单,我需要在__MigrationHistory表中添加一个新列,该列应该具有创建日期的日期时间(如时间戳)。 / p>

我阅读了一些示例,其中说明了如何重命名MigrationHistory甚至重命名主键列 - 这不是我想要的,所以请不要给我这个例子(https://msdn.microsoft.com/en-us/data/dn456841.aspx

我只需要添加createdDate列,当您使用update-database -script时,新列应该等于dateTime.now()

有谁知道如何实现这个目标?

谢谢!

1 个答案:

答案 0 :(得分:0)

MigrationId列已作为迁移创建的日期戳。

MigrationId
201407221811141_InitTables

如果您尝试获取迁移应用的日期,您应该能够创建一个运行SQL脚本的迁移,以添加具有默认值的列:

伪代码:

Migration {
    Up() {
        SQL('Alter table __MigrationHistory add createdDate datetime')
        SQL('Alter table __MigrationHistory ADD CONSTRAINT CONSTRAINT_NAME DEFAULT GETDATE() FOR createdDate')
    }
}