1)完成模型
public class Record { .....//其他字段 public DateTime Date{get;set;} }
2) 使用add-migration
3) 在VS生成的Migration文件中修改该字段
修改前:
namespace ***.Migrations { public partial class Init : Migration { protected override void Up(MigrationBuilder migrationBuilder) { ......//其他表的信息 migrationBuilder.CreateTable( name: "Records", columns: table => new { ......//其他字段的信息 Date = table.Column<DateTime>(nullable: false), ......//其他字段的信息 }); ......//其他表的信息 } ...... } }
修改后(涂黄部分):
namespace ***.Migrations { public partial class Init : Migration { protected override void Up(MigrationBuilder migrationBuilder) { ......//其他表的信息 migrationBuilder.CreateTable( name: "Records", columns: table => new { ......//其他字段的信息 Date = table.Column<DateTime>(nullable: false, defaultValueSql:"GETDATE()"), ......//其他字段的信息 }); ......//其他表的信息 } ...... } }
4)使用update-database完成迁移
5)程序中涉及到该时间时,可以不用理会,context.SaveChanges()时,在数据库中可以自动生成保存的时间。即便使用Date = DateTime.Now给该字段添加了时间,保存时该时间也会被忽略。
使用EF Code First生成模型,如何让时间字段由数据库自动生成
原文:https://www.cnblogs.com/jqdy/p/11254065.html