【发布时间】:2017-09-13 08:29:41
【问题描述】:
我在使用 Dapper 将布尔值插入 Oracle 12 数据库时遇到问题。
我得到的例外是
ORA-00932: inconsistent datatypes: expected NUMBER got BOOLEAN
CommandText 是
INSERT INTO crossqueryb.counterparty (Id,Name,IsBroker,DefaultPortfolioId) VALUES (:Id,:Name,:IsBroker,:DefaultPortfolioId)
IsBroker 被定义为NUMBER(1)。
当我检查 OracleParameter 时,DbType 和 OracleDbType 属性设置为 Boolean。值为false,值的类型为object {bool}。
参数作为IDictionary<string,object> 传递给Query 方法,而不是作为实际的域类型或匿名类型。
我是否需要为此编写自定义类型处理程序,或者我是否遗漏了其他明显的东西?
【问题讨论】: