Nhibernate 发生NHinernate实体异常的use where条件时

Nhibernate 发生NHinernate实体异常的use where条件时,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,这很有效 var a = Session.Query<CaptureHistory>() var a=Session.Query() 但这不起作用,引发了一个异常 var a = Session.Query<CaptureHistory>().Where(c => c.CaptureName == ""); var a=Session.Query()。其中(c=>c.CaptureName==“”); 例外情况 “准备时,从capturehis0中选择cap

这很有效

var a = Session.Query<CaptureHistory>()
var a=Session.Query()
但这不起作用,引发了一个异常

var a = Session.Query<CaptureHistory>().Where(c => c.CaptureName == "");
var a=Session.Query()。其中(c=>c.CaptureName==“”);
例外情况

“准备时,从capturehis0中选择capturehis0\uU0.CaptureCode作为CaptureC1\u2\uU2,capturehis0\uU0.CaptureName作为Capture4\u2\uU4,其中capturehis0\uU0.CaptureName=?发生错误”}

内部异常

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

字段CaptureName的Hibernate映射

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

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

如果必须使用ole db,可以通过将
prepare\u sql
设置为
false

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

谢谢,当prepare\u sql set为false时,它会起作用。我已经这样做了,但是我在hibernate.cfg.xml中做了更改,但是app.config中也存在hibernate配置部分。这就是为什么它不起作用。