存储值 < 00:00:00 的 .Net Timespan 的正确 SQL 类型是什么?即 sql 服务器存储过程的负时间跨度

What is the correct SQL type to store a .Net Timespan with values < 00:00:00? i.e. negative timespan to sql server stored procedure

我正在尝试在 SQL 服务器 2014 中存储 .Net TimeSpan。

EF Code First 似乎建议将其存储为 SQL 中的 Time(7)。

但是 .Net 中的 TimeSpan 可以处理负值。

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

我需要 sql 中的时间格式偏移,以便我可以将存储在数据库中的 UTC 日期时间值转换为用户时区。

正如@Damien_The_Unbeliever 在评论中所建议的那样,将其添加到答案中。 SQL 服务器没有表示时间跨度的数据类型,您必须使用整数类型,以适当分辨率所需的任何单位进行测量,例如秒或毫秒等