2015-10-22 1 views
0

Récemment, nous avons changé de Nhibernate à partir de 2.0 - Nhibernate 3.3. Mon état du système est comme ci-dessous.Erreur de mappage NHibernate après la mise à niveau vers la version 3.3.1. Erreur de déshydratation de la valeur de la propriété pour xxx

Une colonne de la table Sqlserver est de type "image". Il est mappé à Nhibernate via des fichiers hbm. La liste est donnée ci-dessous.

<property type="System.Byte[]" name="LayoutFile" length="2147483647"> 

    <meta attribute="read-only">false</meta> 

    <meta attribute="nullable">true</meta> 

    <meta attribute="value-type">false</meta> 

    <column name="LayoutFile" sql-type="VARBINARY(max) length="2147483647"></column> 

</property> 

Bien que j'ai donné la longueur et le type de spécification. Toujours l'erreur est jeté.

NHibernate.PropertyValueException: Erreur lors de la déshydratation de la valeur de propriété pour xxx.

NHibernate.HibernateException: La longueur de la valeur de chaîne dépasse la longueur configurée dans le mappage/paramètre

Je ne sais pas ce qui se passe. J'ai vérifié la taille des données dans le DB qui est seulement « 260626 »

Répondre

0

En cas de données binaires, j'utilise habituellement type="BinaryBlob":

// instead of this 
<property type="System.Byte[]" name="LayoutFile" length="2147483647"> 
... 

// we should use this 
<property type="BinaryBlob" name="LayoutFile" length="2147483647" /> 

Vérifiez aussi: How to map Image type in NHibernate?