NHibernate Niezgodność typu klucza kompozytowego
Mam starszą tabelę z kluczami złożonymi, które są odwzorowane na 3 inne tabele, ponieważ ta tabela ma inne atrybuty, ponieważ nie jest to prosta tabela odwzorowań, nie mogę użyć rozwiązania zestawu wielu do wielu do mapowania tego .
Oto co zrobiłem:
<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 jest po prostu strukturą zawierającą trzy identyfikatory, a Id_one, Id_two i Id_three są zdefiniowane jako int w swojej klasie.
public struct Akey {
public int Id_one { get; set; }
public int Id_two { get; set; }
public int Id_three { get; set; }
}
Kompiluje się dobrze, ale gdy próbuję go uruchomić, wyświetla mi komunikat o błędzie:
NHibernate.QueryException: niezgodność typu w NHibernate.Criterion.SimpleExpression: oczekiwany identyfikator typu AKey, rzeczywisty typ System.Int32
Proszę doradzić, co zrobiłem źle lub nie.
Wielkie dzięki!