我正在尝试将Dapper与Hana提供程序(https://help.sap.com/viewer/0eec0d68141541d1b07893a39944924e/2.0.04/en-US/bd3548f9c00845849fe4d883148974d1.html,HANA .Net Core 2.1 ADO.NET提供程序一起使用)。随便DataReader
,Etingting都可以正常工作,但是当我尝试在Dapper中使用包含十进制类型的某些实体类时出现问题:
public class SomeType { public string Text { get; set; } public decimal Value { get; set; } } var resultSet = hanaConnection.Query<SomeType>("some hana sql");
不幸的是,引发了以下异常:
程序集'Sap.Data.Hana.Core.v2.1中的'Sap.Data.Hana.HanaDecimal'类型,版本= 2.4.151.0,文化=中性,PublicKeyToken = 0326b8ea63db4bc4'未标记为可序列化。
我尝试为
decimal
创建自己的类型处理程序,不走运:
public class DecimalTypeHandler : SqlMapper.TypeHandler<decimal> { public override decimal Parse(object value) { return Convert.ToDecimal(value); } public override void SetValue(IDbDataParameter parameter, decimal value) { parameter.Value = value; } }
甚至没有调用映射器,因此我认为从db获取数据时会引发错误。因为我无法将
Serializable
属性添加到属性,即源封闭程序集,所以有什么解决方法?
我正在尝试将Dapper与Hana提供程序(https://help.sap.com/viewer/0eec0d68141541d1b07893a39944924e/2.0.04/en-US/bd3548f9c00845849fe4d883148974d1.html、HANA .Net Core 2.1 ADO.NET提供程序一起使用。 ...
在查询前添加类型处理程序: