我有一个数据库,其中列是int数据类型。列int值对应于自1980-01-01以来的秒数(MS-DOS时间戳)。
是否可以使用Entity Framework转换这些int值?如果不是那样做呢?转换需要高效。
我在我的控制器中尝试了以下SQL但是从客户端收到了JSON错误(Fiddler输出:JSON = -1):
public JsonResult GetData()
{
var model = entities.Database.ExecuteSqlCommand(
@"SELECT TOP 10
dateadd(S, [timestamp], '1980-01-01') [datetime_conv],
[value]
FROM [Data_2696415_20] AS tabel");
return Json(model, JsonRequestBehavior.AllowGet);
}
我正在使用Entity Framework 6.1版。
答案 0 :(得分:2)
我会在实体类上放置一个额外的属性,它通过转换器获取原始的int值:
public partial class MyEntity
{
public DateTime Date
{
get { return ConvertToDateTime(this.IntDate); }
}
}