webForumDet fria alternativet

nHibernate - mappa lista

.NET

1 svar · 375 visningar · startad av puhbjörn

Medlem sedan juni 2001370 inlägg
Frågan#1

Tjenare,

Håller på att med att försöka mappa ett par klasser till databasen med hjälp utav nHibernate. Men den vägrar att ge med sig =)

Det hela är rätt enkelt och jag har inte lyckats hitta någon anledning till varför det inte ska fungera.

Private Property Perioder() As IList(Of Period)
	Get
		Return mLedighet
	End Get
	Set(ByVal value As IList(Of Period))
		mLedighet = value
	End Set
End Property

Och min periodklass

Public Property StartDate() As Date
		Get
			Return mStartDate
		End Get
		Private Set(ByVal value As Date)
			mEndDate = value
		End Set
	End Property

	Public Property EndDate() As Date
		Get
			Return mEndDate
		End Get
		Private Set(ByVal value As Date)
			mEndDate = value
		End Set
	End Property

Och tillslut mappningen

<class name="Ledighet" table="Ledigheter" lazy="false">
    <id name="ID">
      <generator class="native"></generator>
    </id>
    
    <many-to-one name="Person" class="Person" column="PersonID"></many-to-one>
    
    <bag name="Perioder" table="LedighetsPerioder">
      <key column="LedighetsID"></key>
      <composite-element class="Firman.Model.Period, Firman.Model">
        <property name="StartDate">
        </property>

        <property name="EndDate">
        </property>
      </composite-element>
    </bag>
  </class>

Allting fungerar om jag struntar i bagelementet så det är helt klart där som problemet ligger. Har testat med alla kombinationer utav bag, list, composite-element, one-to-many som finns ...

Felet är helt enkelt att jag får ett exception:

An unhandled exception of type 'NHibernate.MappingException' occurred in NHibernate.dll

Additional information: Invalid mapping information specified for type Firman.Model.Ledighet, check your mapping file for property type mismatches

När jag försöker köra en enkelt query som hämtar allting..

Tacksam för hjälp.

Medlem sedan juni 2001370 inlägg
#2

Löste det, var ett typfel hade råkat sätta mLedighet som List(Of Period) =/

280 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
151 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)