Если вы собираетесь использовать ключ-многие-к-одному, вы должны поместить класс:
public class Akey {
public virtual One One {get; set;}
public virtual Two Two {get; set;}
public virtual Three Three {get; set;}
}
В противном случае, если вам нужен идентификатор, вы просто отображаете их как свойства класса A:
<composite-id>
<key-property name="Id_one" column="Id_one" />
<key-property name="Id_two" column="Id_two" />
<key-property name="Id_three" column="Id_three" />
</composite-id>
.
public class classA {
public virtual int Id_one {get; set;}
public virtual int Id_two {get; set;}
public virtual int Id_three {get; set;}
// ... rest of props ...
}
Или как композит, как у вас:
<composite-id name="ID" class="AKey">
<key-property name="Id_one" column="Id_one" />
<key-property name="Id_two" column="Id_two" />
<key-property name="Id_three" column="Id_three" />
</composite-id>
.
public class AKey {
public virtual int Id_one {get; set;}
public virtual int Id_two {get; set;}
public virtual int Id_three {get; set;}
}
public class classA {
public virtual AKey ID {get; set;}
// ... rest of props ...
}
Наконец ...
<composite-id>
<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>
.
public class classA {
public virtual One One {get; set;}
public virtual Two Two {get; set;}
public virtual Three Three {get; set;}
// ... rest of props ...
}
Собираюсь разобраться, можете ли вы использовать структуру, потому что я не компетентен в них в C #.