by Oliver
27. February 2009 16:48
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.