2015-06-11 126 views
2

我正尝试更新MySQL数据库字段使用迁移自动化的时间字段,以自动化的时间字段。EF代码优先:更改使用MySQL

下面是代码:

public partial class AutomatedDateField : DbMigration 
    { 
     public override void Up() 
    { 
     this.AlterColumn("Orders", "Created", c => c.DateTime(nullable: false, defaultValueSql: "CURRENT_TIMESTAMP")); 
    } 

使用SQL Server,我会在defaultValueSql使用GETUTCDATE()。我应该在这种情况下使用什么?

+0

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_utc-date –

+0

我已经尝试过utc_timespan()以及utc_date(),但我没有成功。当我在PMC中运行update-database时,我收到错误«您的SQL语法错误;检查对应于你的MySQL服务器版本正确的语法使用近“UTC_DATE()”第1行» – paulocinf

+0

手册我想这个问题是在MySQL版本。我正在使用的是5.5.34,它不允许datetime类型的初始化值。我必须通过捕获所有添加的实体条目并将创建设置为Datetime.UtcNow来处理SaveChanges方法 – paulocinf

回答