2009-02-12 9 views
1

Comment puis-je créer la cartographie des composants génériques dans NHibernate, j'ai une classe paire {virtuel T First {get; Réglage}, T Deuxième virtuel {get; set;}}, je suis en train de la carte avec quelque chose comme ce qui ne fonctionne pasNHibernate composant générique

Répondre

0

Je pense que vous pouvez mapper la classe, mais vous dans le mappage vous devez déclarer explicitement quel type sera utilisé en tant que paramètre générique, comme ceci:

<class name="GenericClass`1[ConcreteType], assembly" 
     table="table"> 
     <id name="Id"> 
      <generator class="identity"/> 
     </id> 
    </class> 

dans votre cas, je suppose que ce sera:

<class name="Pair`1[Namespace.TheClass], assembly" 
     table="table"> 
     <id name="Id"> 
      <generator class="identity"/> 
     </id> 
    <many-to-one name="First" class="Namespace.TheClass, assembly"/> 
    </class> 

comme un composant

<component name="Property" class="Pair`1[Namespace.TheClass], assembly"> 
    <many-to-one name="First" class="Namespace.TheClass, assembly"/> 
</component> 

Et si vous voulez utiliser la même classe générique, ou d'un composant avec un autre type comme paramètre générique, vous devez créer un autre mappage pour ce cas spécifique.

1

Cela a fonctionné, astuce était que je devais utiliser `, alors que j'utilisais '

Questions connexes