我正在扩展 NHibernate.Spatial 以使用 Oracle Spatial Dialect。它曾经与 NHibernate 3.1 一起工作。现在我正在尝试升级到 NHibernate 3.3,但是在修复编译问题后,我在执行查询期间遇到了 Ora 异常
查询示例:
var intersectingPolygonCount = session.QueryOver<Road>()
.WhereSpatialRestrictionOn(x => x.Centerline)
.Within(polygon).RowCount();
我收到的错误:
ORA-01008: not all variables bound.
sql 实际上并没有绑定参数(即上面查询中 type 的多边形IGeometry
)。
在 NHibernate 3.1 中,通过名称GetTypedValues
调用方法并检索IGeometry
参数的类型。在 NHibernate 3.3 中它没有被调用。
有人知道为什么吗?