Если ваш первичный ключ является составным, ваше отображение должно отражать это, и ваш класс должен переопределить Equals
и GetHashCode
.
Также, если ClientId
является первичным ключом вашей Client
сущности, вы должны отобразить его как many-to-many
, а не просто Id.
Кроме того, почему вы указываете lazy="false"
? Вы знаете о последствиях?
Кроме того, зачем сопоставлять все с access="field"
? У свойств есть какая-то особая логика?
Это пересмотренное отображение, учитывающее все, что я только что написал. Не стесняйтесь игнорировать те части, которые не применяются: -)
<class name="Acumen.AAM.Domain.Model.License, Acumen.AAM.Domain" table="License">
<composite-id>
<key-many-to-one name="Client" column="ClientID" />
<key-property name="Type" />
</composite-id>
<property name="Total" />
<property name="Used" />
</class>