实体框架修改现有迁移脚本以设置现有日期列的默认日期

时间:2015-04-28 15:06:59

标签: c# entity-framework

有人可以帮助我如何使用Entity Framework作为ORM更改现有的迁移脚本,以便我可以将默认日期设置为datetime类型的属性吗?

我创建了一个新的datetime属性并更改了迁移脚本。然后它工作正常。但我想在不创建新的datetime属性的情况下更改现有属性。

我的迁移脚本,以防我添加新的datetime属性:

public override void Up()
{
    AddColumn("Payment.PaymentCardTransaction", "CreatedDate", c => c.DateTime(nullable: false, defaultValueSql: "GETDATE()"));
}

public override void Down()
{
    DropColumn("Payment.PaymentCardTransaction", "CreatedDate");
}

2 个答案:

答案 0 :(得分:0)

我可能在这里遗漏了一些内容,但听起来就像添加新的迁移一样简单,然后使用与AddColumn具有相同定义的AlterColumn函数。

AlterColumn("Payment.PaymentCardTransaction", "CreatedDate", c => c.DateTime(nullable: false, defaultValueSql: "GETDATE()"));

答案 1 :(得分:0)

public partial class DefaultDatePaymentCardTransaction : DbMigration
{
    public override void Up()
    {
        AlterColumn("Payment.PaymentCardTransaction", "DateCreated", c => c.DateTime(nullable: false, defaultValueSql: "GETDATE()"));
    }

    public override void Down()
    {
        AlterColumn("Payment.PaymentCardTransaction", "DateCreated", c => c.DateTime(nullable: false));
    }
}