问题引出
在通过ORM 的实体插入数据时出现了System.Exception:“Fatal error encountered during command execution.”
问题查找
VehicleHistory vehicleHistory = new VehicleHistory()
{
CameraIP = "192.168.2.23",
//License = "蓝鄂A99876",
//UpdateTime = DateTime.Now,
//DetectType =1,
//Picture1 = "D://FiberHome.IDC//PictureShoot//2019//3//7//134053_1_Num1.jpg",
//Picture2 = "D://FiberHome.IDC//PictureShoot//2019//3//7//134053_2_Num2.jpg",
//Picture3 = "",
};
vehicleHistory.Insert();
经过检测,其他实体查询插入正常,该实体查询也正常。
经过对数据库表字段、引擎等的检查,并无任何异常。
实体检查,字段类型、属性也未见异常。
问题解决
最后通过逐个删除字段,终于在 VehicleType中发现了引发异常的地方。 [MapColumn("VehicleType ")]里面有个空格,导致实体映射数据库失败。因为查询和插入的性质不同,导致 这种错误没有引发查询的失败。
/// <summary>
/// 行驶车辆类型
/// </summary>
[DataObjectField(false)]
[MapColumn("VehicleType ")]
public int VehicleType { get; set; }
切记!