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!

questionAnswers(1)

yourAnswerToTheQuestion