NHibernate: wundersame automatische Updates

Kurze Suche, etwas überzogener Artikel (hier), aber die Kerninformation ist wichtig:

Eigene Enumerationen sollten im Mapping-File nicht auf Int gemappt werden, denn ansonsten muss NHibernate die casten und das entsprechende Objekt wird "dirty", was zu dem wundersamen UPDATE führt.

Bei uns z.B. in der Translation-Klasse der Fall:

...
<property name="Type" column="Type" type="int" not-null="true" />
...
<property name="MetaType" column="MetaType" type="int" not-null="true" />
...

 

Stattdessen also immer die Enumeration-Klasse angeben:

...
<property name="Type" column="Type" type="TranslationType" not-null="true" />
...
<property name="MetaType" column="MetaType" type="MetaType" not-null="true" />
...

Jetzt gibt's keine ungewollten UPDATEs mehr. Schön.