私はNHibernateの新機能ですので、ここで誰かがこれを説明することができます。私は3つのテーブル/エンティティ持っている:それは音として流暢なNHibernateは検索レコードを変更できませんか?
- アプリケーション
- 役割
- ApplicationRoles
を、ApplicationRolesは、アプリケーションおよび役割への外部キーを持つルックアップテーブルであり、いくつかの他のフィールドIsActiveのように。
コード内で、ApplicationRoleには、親、Application、およびRoleの両方への参照があります。 ApplicationオブジェクトにはListがあるので、子のApplicationRoleオブジェクトを参照できます。役割はありませんが、私はそれを追加しようとしましたが、違いはありません。
私が抱えている問題は、ApplicationRoleオブジェクトを直接ロードして操作して再度保存するように見えないということです。オブジェクトを自分自身のPK、または両方のFKでロードすることができますが、IsActiveフィールドを変更することはできますが、データベースに保存すると、Applicationオブジェクトで 'flush with flush'というエラーが発生し、他の子コレクションです。
デバッガを使用してオブジェクトのアプリケーションの親参照を調べても、保存が正常に行われても、これは遅延読み込みが原因である可能性があります。しかし、私は私が上記のエラーを取得しない場合。
Applicationオブジェクトをロードし、そのApplicationRoleオブジェクトを操作してアプリケーション自体を保存すると機能しますが、それを行う必要はありません。
EDIT:あなたがクラスを捨てることができ
これは良いですが、残念ながら私はリンクレコードの1つのまたは2ビットのフィールドを持っているので、それは純粋ではないデータの関係を明らかにルックアップテーブル。フィールドIsDefaultとその他のフィールドがあります。 – LoveMeSomeCode
ああ、これは質問に含めるべき重要な情報です。私は時間があるときに私は再び答えてみるよ – Firo