存储值> 24:00:00的.Net Timespan的正确SQL类型是什么?

我试图TimeSpan在SQL Server 2008 R2中存储.Net 。

EF Code First似乎建议它应该存储为Time(7)SQL中的一个。

但是TimeSpan.Net可以处理比24小时更长的时间。

TimeSpan在SQL服务器中处理存储.Net的最佳方法是什么?


繁花如伊
浏览 950回答 3
3回答

慕姐4208626

我将它作为a存储在数据库中,BIGINT并存储刻度数(例如TimeSpan.Ticks属性)。这样,如果我想在检索时获取TimeSpan对象,我可以做一些简单的TimeSpan.FromTicks(value)。

蝴蝶不菲

感谢您的建议。因为SQL服务器中没有等效的。我只是创建了一个第二个字段,它将TimeSpan转换为刻度并将其存储在数据库中。然后我阻止了存储TimeSpanpublic Int64 ValidityPeriodTicks { get; set; }[NotMapped]public TimeSpan ValidityPeriod{    get { return TimeSpan.FromTicks(ValidityPeriodTicks); }    set { ValidityPeriodTicks = value.Ticks; }}
打开App,查看更多内容
随时随地看视频慕课网APP