by Stefan
13. August 2009 11:26
Ich bin heute auf ebendiese Exception gestossen als ich folgende zeilen zu einem Mapping-File in CO hinzufuegte:
<set name="NHibernateFiles">
<key column="EntityId"/>
<one-to-many class="SpeakFriend.Utilities.StoredFile, SpeakFriend.Utilities"/>
</set>
Per Google-Suche landete ich direkt auf unserem Blog und fand Olivers Beitrag. Ich dachte schon, das Problem waere erledigt. Einfach das Mapping-File auf "Embedded Ressource" setzen und fertig. Aber Pustekuchen, das war ja schon alles richtig eingestellt. Ich konnte auch StoredFile von CO aus persistieren . Ein Blick in die App.config half mit auch nicht weiter:
<mapping assembly="SpeakFriend.Utilities" />
<mapping assembly="ConceptOffice.Core" />
<mapping assembly="ConceptOffice.Core.Client" />
Alles war fein referenziert. Und es klappte ja auch alles. Nur beim parsen des Mapping-Files hatte er ein Problem.
Nun die Aufloesung: Ein Durchwuehlen des Stack-Traces fuehrte mich auf folgende Stelle:
protected NHibernateHelper _nhibernateHelperSqlLite =
new NHibernateHelper(new Configuration().Configure("lite-nhibernate.cfg.xml")
.BuildSessionFactory().OpenSession());
Beim Blick in lite-nhibernate.cfg.xml fiel es mir dann wie Schuppen von den Augen. Die fettgedruckte Zeile fehlte:
<mapping assembly="SpeakFriend.Utilities" />
<mapping assembly="ConceptOffice.Core" />
<mapping assembly="ConceptOffice.Core.Client" />
Fazit: Nur nicht aufgeben, man findet den Fehler immer irgendwann.