我无法映射我们的byte[]
字段。我一直在寻找几种解决方案,但迄今为止都没有。我得到的只是这个例外:
The length of the byte[] value exceeds the length configured in the mapping/parameter.
以下是目前我在hbm.xml
<property name="Data" type="BinaryBlob">
<column name="attachmentData" sql-type="varbinary(max)"/>
</property>
我在做什么不对吗?
更新 - 解决方案:
事实证明我做错了。我们通过存储过程插入byte[]
,因此属性映射与它无关。相反,我们需要告诉NHibernate sprocs参数的类型如下:
query.SetParameter(param.Key, param.Value, NHibernateUtil.BinaryBlob);
答案 0 :(得分:4)
NHibernate不理解varbinary(max),将使用默认的8000字节。
因此您需要提供该号码。即。
VARBINARY(2147483647)
我认为以前工作但是regression错误。