.netcore2.2 针对日期精确到datetime2(7)精确到微秒迁移解决方案

.NETCORE2.2 针对老的datetime,默认设置到datetime2(7),老的数据格式是datetime只要求精确到毫秒,迁移处理办法

一、日期格式加TypeName上标识

/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "datetime")]
public DateTime TimeCreate { get; set; }

/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "datetime")]
public DateTime TimeUpdate { get; set; }

 

二、在迁移文件Migrations,protected override void BuildTargetModel(ModelBuilder modelBuilder){}实现

末尾位置,手动改变日期格式为datetime

具体代码

foreach (var entity in modelBuilder.Model.GetEntityTypes())
{
foreach (var item in entity.GetProperties())
{
if (item.ClrType.Name == "datetime")
item.AddAnnotation("Relational:ColumnType", "datetime"); //对应的annotation: [Column(TypeName ="datetime")]
}
}

posted @ 2019-03-20 09:17  蜗牛行  阅读(580)  评论(0编辑  收藏  举报