使用Google Place API捕获utc_offset的数据类型应该是什么

时间:2018-08-03 15:37:06

标签: c# entity-framework google-maps-api-3

我正在使用Google api以一种形式获取用户信息,该形式具有时区字段。我绑定utc_offset值,该值是从Google api获取的。此值可以是正数或-ve(例如:印度为330,美国为-300)。我正在使用实体框架.so我应该使用哪种数据类型来保存时区。 我添加了一个迁移

`public TimeZoneInfo{ get; set; }`

,但此列未在db中更新。谁能帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

First TimeZoneInfo是错误的类型。您实际上并不知道用户所在的时区,仅知道偏移量。 UTC偏移量可以由具有不同夏令时规则等的多个时区共享。

UTC偏移量是一个持续时间。正确的.NET类型是TimeSpan,但是没有对应的标准SQL类型。对于SQL Server EF,将使用Time,但如果尝试存储间隔[0,24小时)以外的持续时间,则会出现运行时错误。

因此,正确的类型只是int,您需要跟踪度量单位。像这样:

public int UTCOffsetHours { get; set; }