У меня есть таблицы ниже:Nhibernate, коллекции и compositeid
Bucket(
bucketId smallint (PK)
name varchar(50)
)
BucketUser(
UserId varchar(10) (PK)
bucketId smallint (PK)
)
Составной ключ не проблема Thats хорошо, я знаю, как обойти это, но я хочу, чтобы мой класс ведро contanin с IList из BucketUser. Я читал онлайн-ссылку и думал, что я ее взломал, но не смог. Два отображения ниже
- ведро -
<class name="Bucket,Impact.Dice.Core" table="Bucket">
<id name="BucketId" column="BucketId" type="Int16" unsaved-value="0">
<generator class="native"/>
</id>
<property column="BucketName" type="String" name="BucketName"/>
<bag name="Users" table="BucketUser" inverse="true" generic="true" lazy="true">
<key>
<column name="BucketId" sql-type="smallint"/>
<column name="UserId" sql-type="varchar"/>
</key>
<one-to-many class="Bucket,Impact.Dice.Core" not-found="ignore"/>
</bag>
</class>
- bucketUser -
<class name="BucketUser,Impact.Dice.Core" table="BucketUser">
<composite-id>
<key-many-to-one name="BucketUser" class="Bucket,Impact.Dice.Core" column="BucketId"/>
<key-property name="UserId" column="UserId" type="string"></key-property>
</composite-id>
</class>
Я переписал свой ответ, чтобы сделать его более ясным. Отображение вашего bucketuser не видно, вам нужно сделать его «кодом». –