【发布时间】:2020-07-21 05:59:34
【问题描述】:
我的模型中有一个 Datetime 属性,如下所示:
[DataType(DataType.Date)]
[Column(TypeName = "date")]
public DateTime SubmittedOn { get; set; }
该值作为日期插入到数据库中,没有时间部分。但是,服务器会在请求该值时将其与时间部分一起返回,如下所示"2020-04-03T00:00:00"
如何在我的dbContext 中使用modelBuilder 来删除返回值时的时间部分?
modelBuilder.Entity<Model>()
.Property(e => e.SubmittedOn)
.HasConversion(...?)
【问题讨论】:
-
.NET没有日期类型,只有
DateTime,所以总会有时间。 -
@JohnathanBarclay,当然,但进行转换并不意味着更改其数据类型。
-
你可以在c#中做这样的事情docs.microsoft.com/en-us/dotnet/api/…我只是想把它集成到modelBuilder中
-
DateTime.Date返回一个新的DateTime,时间部分设置为00:00;无论如何,这就是数据库返回的内容。你的时间有什么问题?使用[DataType(DataType.Date)]表示时间无论如何都不会显示在 UI 中。 -
@JohnathanBarclay 您可以执行类似 date.ToString("MM/dd/yyyy") 的操作,并且您的日期没有时间部分格式化为字符串,您可以将其发送回客户端。我希望有办法做到这一点?我很想告诉你我的时间部分的问题,但这超出了这个问题的范围,所以如果这样做是不可能的,那么我只是有一个不同的问题:(
标签: c# .net-core entity-framework-core