【问题标题】:Saving DateTime to sql without milliseconds无需毫秒将 DateTime 保存到 sql
【发布时间】:2015-06-08 07:37:30
【问题描述】:

如何在没有毫秒的情况下在 EF 中保存 datetime 属性?

我是这样保存的:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "  
{0:MM/dd/yyyy}")]
[Column(TypeName = "datetime2")]
public DateTime ProcessingDateTime { get; set; }

我以毫秒为单位获取数据? 有任何想法吗? TX 理货

【问题讨论】:

  • 你如何将值设置为ProcessingDateTime
  • study.ProcessingDateTime = DateTime.Now;
  • DateTime.Now 返回毫秒?我知道它会返回MM/dd/yyyy hh:mm:ss
  • 不返回毫秒,保存为0:2015-06-06 10:20:44.0000000
  • 在模型查看器中打开 EDM。您可以在 SSDL/CSDL 中找到它

标签: entity-framework


【解决方案1】:

对于那些遇到这个问题的人,有一个方法可以在 EF CORE 中以不可知的方式解决这个问题:

1-转到 OnModelCreating

2- 将扩展方法 HasConversion 添加到属性中,这将在读取和写入中从日期时间中删除毫秒

builder.Entity<Table>().Property(u => u.Date).HasConversion(dt => dt, dt => dt.AddTicks(-dt.Ticks % TimeSpan.TicksPerSecond));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 2015-09-16
    • 2012-09-13
    • 2015-01-10
    相关资源
    最近更新 更多