某项目使用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>