由于图像类型,NHibernate无法提交事务

时间:2017-02-24 09:43:12

标签: c# sql-server nhibernate

在尝试将大图像作为字节数组插入SQL Server的图像字段时,我遇到了NHibernate 4.1.0版的问题。我的映射看起来像这样:

<property name="BinaryContent" column="MyContent" not-null="false" />

问题是无法提交事务。我认为这是由于一些截断,因为小图像看起来效果很好。

我有解决此问题的方法,更改映射并指定类型:

<property name="BinaryContent" column="MyContent" not-null="false" type="BinaryBlob" />

但问题是,这是一个非常大的项目,我必须更改许多映射文件。因此,我期待在项目中全球自动完成这项工作。

任何解决方案?

(注意:在NHibernate 2.1中,这就像魅力一样)

1 个答案:

答案 0 :(得分:1)

不,我担心 对于SQL-Server,当需要长度大于8000时,需要使用映射来使用BinaryBlob类型,或者必须在映射上明确设置maxixum长度。
如果未指定映射类型,则byte[]默认为Binary,请参阅doc。至于为何与NH 2.1合作,我不知道。

NH-2764问题证实了这一点。 (关闭为“不是问题”。)