The JIT compiler encountered invalid IL code or an internal. 返回

System.InvalidProgramException: The JIT compiler encountered invalid IL code or an internal limitation.
at SqlSugarEntity(IDataRecord)
at SqlSugar.IDataReaderEntityBuilder`1.Build(IDataRecord dataRecord)
at SqlSugar.DbBindAccessory.GetEntityList[T](SqlSugarProvider context, IDataReader dataReader)
at SqlSugar.DbBindProvider.DataReaderToList[T](Type type, IDataReader dataReader)
at SqlSugar.QueryableProvider`1.GetData[TResult](Boolean isComplexModel, Type entityType, IDataReader dataReader)
at SqlSugar.QueryableProvider`1.GetData[TResult](KeyValuePair`2 sqlObj)
at SqlSugar.QueryableProvider`1._ToList[TResult]()
at SqlSugar.QueryableProvider`1.ToList()
at SqlSugar.SimpleClient`1.GetList(Expression`1 whereExpression)
at JYT.Platform.Equipment.Infrastructure.BaseRepository`1.Query(Expression`1 func)
at JYT.Platform.Equipment.Application.Services.EquipmentService.GetEquipmentList(KeywordCondition ACondition)
中文提示 : Select 实体与表映射出错,可以注释实体类中的字段排查具体哪一个字段。【注意:如果用CodeFirt先配置禁止删列或更新】 The JIT compiler encountered invalid IL code or an internal limitation.
本地测试都没问题,发布到docker中就报这个错,本地和服务器连的是同一个数据库服务.
热忱回答(16)
-
fate sta VIP0
2周前暂时看不出问题
0 回复 -
fate sta VIP0
2周前这个像程序报错了,你清空后重新发布试试
0 回复 -
龍 VIP0
2周前访问数据库的底层都是一样的。换个表查询接口就正常,只有调用某一张表的api查询数据的时候就出现这样的问题
0 回复 -
fate sta VIP0
2周前@龍:那应哪一个字段类型有问题
0 回复 -
fate sta VIP0
2周前[SugarColumn(SqlParameterDbType=
typeof
(CommonPropertyConvert))]
//CommonPropertyConvertORM自带的
public
DateTime DcValue {
get
;
set
; }
//5.1.4.62版本支持
给这个表的字段全部加上CommonPropertyConvert
0 回复 -
龍 VIP0
2周前@fate sta:加上
[SugarColumn(SqlParameterDbType=
typeof
(CommonPropertyConvert))]一样报错:The JIT compiler encountered invalid IL code or an internal limitation.
0 回复 -
fate sta VIP0
2周前@龍:那你就看这个表有什么不一样的,比精度不太长,一般可能是哪个字段问题
精度最好18,6 18,2 18,4
0 回复 -
fate sta VIP0
2周前或者你提供建表语句和实体类我看看有没有什么特别的
0 回复 -
龍 VIP0
2周前@fate sta:在本地是可以的,没出现这种问题,连的是同一个数据库
/// <summary>
/// 设备
/// </summary>
[SugarTable("t_equipment")]
public class Equipment : BaseEntity
{
/// <summary>
/// 设备ID
/// </summary>
[SugarColumn(IsPrimaryKey = true, ColumnDescription = "主键", SqlParameterDbType = typeof(CommonPropertyConvert))]
public long EquipmentId { get; set; }
/// <summary>
/// 部门ID
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public long DepartmentId { get; set; }
/// <summary>
/// 设备类型ID
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public int EquipmentTypeId { get; set; }
/// <summary>
/// 设备名称
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public string EquipmentName { get; set; } = "";
/// <summary>
/// 设备型号
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public string EquipmentModel { get; set; } = "";
/// <summary>
/// 产品编号
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public string ProductNo { get; set; } = "";
/// <summary>
/// 制造单位名称
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public string ManufacturerName { get; set; } = "";
/// <summary>
/// 制作许可证编号
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public string ManufacturerLicenseNo { get; set; } = "";
/// <summary>
/// 制作许可证
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public string ManufacturerLicense { get; set; } = "";
/// <summary>
/// 制造日期
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public DateTime? MadeDate { get; set; }
/// <summary>
/// 投产日期
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public DateTime? StartusedDate { get; set; }
/// <summary>
/// 设备总重量(kg)
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public double? TotalMass { get; set; }
/// <summary>
/// 设备外形尺寸
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public string Dimensions { get; set; } = "";
/// <summary>
/// 铭牌ID
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public string NameplateImageIds { get; set; } = "";
/// <summary>
/// 故障配置底图
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public Guid? ElementcomponnentsrelationImageId { get; set; }
/// <summary>
/// 其它图片文件地址
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public string OtherFileUrl { get; set; } = "";
/// <summary>
/// 安装地点
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public string InstallPlace { get; set; } = "";
/// <summary>
/// 程控器类型
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public string ProgramControlModel { get; set; } = "";
/// <summary>
/// 炉体液位上限
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(CommonPropertyConvert))]
public double? UpperLimitLiquidLevel { get; set; }
/// <summary>
/// 加热炉
/// </summary>
[SugarColumn(IsIgnore = true)]
public EquipmentFurnace EquipmentFurnace { get; set; } = null;
/// <summary>
/// 注汽锅炉
/// </summary>
[SugarColumn(IsIgnore = true)]
public EquipmentBoiler EquipmentBoiler { get; set; } = null;
/// <summary>
/// 井
/// </summary>
[SugarColumn(IsIgnore = true)]
public EquipmentWell EquipmentWell { get; set; } = null;
/// <summary>
/// 泵
/// </summary>
[SugarColumn(IsIgnore = true)]
public EquipmentPump EquipmentPump { get; set; } = null;
/// <summary>
/// 设备燃烧器
/// </summary>
[SugarColumn(IsIgnore = true)]
public EquipmentDeviceinfo EquipmentDeviceinfo { get; set; } = null;
}
0 回复 -
fate sta VIP0
2周前0 回复 -
fate sta VIP0
2周前这个改成float4看看
0 回复 -
fate sta VIP0
2周前还有一个办法就是排除法 找到有问题的字段
select(it=>new Equipment (){
加几个字段
没问题
在加几个
})
0 回复 -
龍 VIP0
2周前@fate sta:你说的排除法没用,没效果,还是报一样的错
0 回复 -
fate sta VIP0
2周前@龍:查一个字段也报错?
0 回复 -
龍 VIP0
2周前@fate sta:数据库中varchar类型映射到实体的string类型都报错,一个一个字段对应属性去排除,都不知道怎么改
0 回复 -
龍 VIP0
2周前@fate sta:问题已解决了。pg库中的int2和float4无法映射C#实体的数据类型int和double
0 回复