我在我的应用程序中使用NodaTime和Entity Framework Core。我正在使用AutoMapper将我的模型(使用LocalTime)转换为实体(使用Timespan,后者映射到Sql Server中的Time)。我这样做是为了避免EF ValueConversions的陷阱。
[从实体到模型(即从Timespan到LocalTime)时,我发现了这样做的“官方”方式(https://github.com/nodatime/nodatime/issues/148:]]
LocalTime.FromTicksSinceMidnight(timespan.Ticks)
但是,从模型到实体(从LocalTime到Timespan),我不确定最好的方法是什么。日期和时间似乎太棘手,无法仅获取小时,分钟等信息,例如:
new TimeSpan(localTime.Hour, localTime.Minute, localTime.Second, localTime.Second, localTime.Millisecond)
我应该像从本地时间到Timespan时那样使用刻度吗?
TimeSpan.FromTicks(localTime.TickOfSecond)
我在我的应用程序中使用NodaTime和Entity Framework Core。我正在使用AutoMapper从我的模型(使用LocalTime)转换为我的实体(使用Timespan,后者映射到...中的时间)
[从LocalTime
转换为TimeSpan
,您确实可以使用刻度线-但您想要TickOfDay
: