HBM映射图像/二进制

时间:2013-04-09 01:05:20

标签: nhibernate nhibernate-mapping

我无法映射我们的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);

1 个答案:

答案 0 :(得分:4)

NHibernate不理解varbinary(max),将使用默认的8000字节。

因此您需要提供该号码。即。

  

VARBINARY(2147483647)

我认为以前工作但是regression错误。