在我的控制器下面,我收到以下错误“从数字转换时,值必须是小于无穷大的数字”。这发生在以“var zones ...”
开头的行上这是我的控制器
public JsonResult LatLng()
{
var zones = zoneRepository.GetCoordinates().ToList();
//return Json(zones, JsonRequestBehavior.AllowGet);.
return Json(new { zones = zones }, JsonRequestBehavior.AllowGet);
}
这是我的模特
public IQueryable<Zone> GetCoordinates()
{
return db.Zones;
}
在我的数据库表中,我有一列是numeric类型,另外三列是float类型。有没有办法可以找出我的代码反对的价值?我最好的猜测是,这与我使用花车有关。但是我不知道如何调试这个。任何指导我指出修复此错误的指导都将非常感激。
注意 - 仅在运行时发生错误
答案 0 :(得分:2)
我将数据库中的纬度和经度列从float转换为decimal。这解决了我的问题。如果有人想花时间解释为什么这有效,我很乐意将其作为答案。例如,当数据的视觉检查显示小数点的左右两边都没有多于几位时,我的坐标如何大于无穷大?