Dapper将具有空值的可空Oracle数据库列映射到默认值(T)而不是null

时间:2014-05-04 08:03:05

标签: c# oracle ado.net dapper

我正在使用Dapper将我的调用包装到Oracle存储过程中。我映射到的许多模型都具有int?属性,因为它们表示返回游标中可能为null的列。

我的方法存在两个问题。

  1. Dapper将Oracle Number视为decimal,其精确度为0而不是int。几乎在所有情况下,我的数据库中的Number表示intint?而不是decimaldecimal?

  2. Dapper并不总是“尊重”目标模型属性的Nullable -

  3. 当存储过程返回带有属性TSomeType的{​​{1}}光标且返回的行中至少有一个具有decimal? SomeColumn的值时,它将将返回列的SomeColumn值的所有行映射到null而不是0,这是我的愿望。

    我试着编写一个可以应用于所有模型的自定义null,以便将ITypeMap映射到DbNull而不是null,因为该界面未写入一种有利于全局列转换的方式,而不是转换为特定类型。

    感谢任何帮助。

0 个答案:

没有答案