我在 ASP.NET MVC 应用程序 (4.6.1) 上,使用 EF 6.x 从 SQL Server 获取数据。 我在数据库中的
date
字段上,记录中的值为 1952-05-17。
当我使用 EF 进行枚举时,我看到了这个值:
这似乎是正确的,但带有
Kind = Unspecified
。当以这种方式返回给客户时:
public ActionResult MyMethod()
{
try
{
//
return Json(new { data = dataFiltered, recordsFiltered = dataTotal });
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
我得到了
/Date(-556250400000)/
,这似乎是本地的,它将呈现为 1952-05-16T22:00:00Z(因此,1952-05-16;落后 1 天)。
所以我试着在
Global.asax.cs
上添加这个:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
JsonConvert.DefaultSettings = () => new JsonSerializerSettings {
DateTimeZoneHandling = DateTimeZoneHandling.Utc
};
}
但是什么都没有改变,还是
Kind = Unspecified
.
正确的做法是什么?