当使用NHibernate Entity异常发生的条件时

时间:2014-01-15 11:58:51

标签: nhibernate nhibernate-mapping

这有效

var a = Session.Query<CaptureHistory>()

但这不起作用并抛出ADOException。

var a = Session.Query<CaptureHistory>().Where(c => c.CaptureName == "");

异常

“准备选择capturehis0_.CaptureCode为CaptureC1_2_时,将capturehis0_.CaptureName捕获为CaptureT4_2_,来自CaptureHistory capturehis0_,其中capturehis0_.CaptureName =?发生错误”}

的InnerException

“OleDbCommand.Prepare方法要求所有可变长度参数都有明确设置的非零大小。”

字段CaptureName的Hibernate映射

<property name="CaptureType" column="CaptureName" type="String"/>

1 个答案:

答案 0 :(得分:1)

首先,您使用的是哪个数据库,是否真的需要使用OleDb?如果您有MSAccess,请获取NHibernate.JetDriver包,例如......

如果您必须使用ole db,可以尝试通过将prepare_sql设置为false来禁用命令准备

 <property name="prepare_sql">false</property>