NHibernate 使用SQL Server数据库保存Image时异常的解决方案

某项目使用NHibernate作为数据持久层,模式是data first。根据数据库结构生成映射文件,在保存时,程序抛出如下异常信息:

The length of the byte[] value exceeds the length configured in the mapping/parameter.

该异常的原因是字段长度(SQL Server的Image类型会被映射为byte[])超过了映射时配置的长度。

解决方法很简单,在映射文件xml里,对应的字段上,增加个长度参数即可:

    <property name="PHOTO">
      <column name="PHOTO" sql-type="image" length="2147483647" not-null="false" />
    </property>

参考链接:https://stackoverflow.com/questions/12204306/nhibernate-image-storage-the-length-of-the-byte-value-exceeds-the-length-con

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据