0
I持って、次の表NHibernateは三元関係マッピング
CREATE TABLE track
ID
name
CREATE TABLE people
ID
firstname
CREATE TABLE role
ID
name
CREATE TABLE track_people_role
track_id
people_id
role_id
と次のマッピングファイル
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="App.Data.BusinessObjects" assembly="App.Data">
<class name="App.Data.BusinessObjects.Track, App.Data" table="track" lazy="true">
<id name="Id" column="ID">
<generator class="native" />
</id>
<property name="Name" column="name" />
</class>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="App.Data.BusinessObjects" assembly="App.Data">
<class name="App.Data.BusinessObjects.People, App.Data" table="people" lazy="true">
<id name="Id" column="ID">
<generator class="native" />
</id>
<property name="Firstname" column="firstname" />
</class>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="App.Data.BusinessObjects" assembly="App.Data">
<class name="App.Data.BusinessObjects.Role, App.Data" table="role" lazy="true">
<id name="Id" column="ID">
<generator class="native" />
</id>
<property name="Name" column="name" />
</class>
track_people_roleテーブルのマッピングを設定しようとしています。誰も私を助けてくれますか?
私は以下の行を中間テーブルに持っています。主キーは、3つの列の組み合わせです。
track_id people_id role_id 14292 1 1 14292 1 2 track_id people_id role_id 1200 1 1 1200 2 1
Hi Diego、元の投稿を更新していくつかのサンプル行を追加します。あなたの解決策track.PeopleRolesだけが最初の行を返し、私が(14292,1,3)を保存しようとしたときに、「同じキーを持つ項目が既に追加されています」というエラーが表示される – Guray
最初の行を返すことについてのコメントを無視してください行、私はまだ保存または更新する方法の助けが必要です – Guray
保存[リンク](http://stackoverflow.com/questions/4973709/nhibernate-saving-a-dictionary-in-a-ternary-関係) – Guray