4

我在映射我们的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[]via存储过程,因此属性映射与它无关。相反,我们需要告诉 NHibernate sprocs 参数的类型,如下所示:

query.SetParameter(param.Key, param.Value, NHibernateUtil.BinaryBlob);
4

1 回答 1

4

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

因此,您需要提供号码。IE

varbinary(2147483647)

我认为以前可以工作,但这是一个回归错误。

于 2013-04-09T05:45:09.933 回答