J'ai une table héritée avec des clés composées qui sont mappées à 3 autres tables, car cette table a d'autres attributs, car ce n'est pas une simple table de mappage, je ne peux pas utiliser le nombreux -to-many set solution pour mapper ceci.nHibernate Clé composite Classe Type Incompatibilité
Voici ce que je l'ai fait:
<class name="classA" table="A">
<composite-id name="ID" class="AKey">
<key-many-to-one name="Id_one" class="One" column="Id_one" />
<key-many-to-one name="Id_two" class="Two" column="Id_two" />
<key-many-to-one name="Id_three" class="Three" column="Id_three" />
</composite-id>
AKey est simplement une struct qui détient les trois ids et Id_one, Id_two et Id_three sont tous définis comme int dans leur classe respective.
public struct Akey {
public int Id_one { get; set; }
public int Id_two { get; set; }
public int Id_three { get; set; }
}
Cette compile très bien, mais lorsque je tente de l'exécuter, il me donne un message d'erreur:
NHibernate.QueryException: incompatibilité de type dans NHibernate.Criterion.SimpleExpression: ID Type AKey attendu, type réel System.Int32
S'il vous plaît aviser de ce que j'ai mal fait ou si j'ai manqué.
Merci beaucoup!
Merci pour votre réponse! La dernière partie m'a aidé à résoudre mon problème, maintenant je peux enfin passer à autre chose! = P – Akey
Yah ... J'ai réalisé après l'avoir écrit que le dernier devait être le premier! – anonymous