ProductとImageの2つのクラスがあります。Fluent NHibernateの地図構成
- この商品の画像は1つだけです。
- 孤立した画像は存在しません。
この意味UMLで組成関係を表す:
割り当てProduct.Image
- 古い画像を削除以下でNEWIMAGE結果を、
- 新しい画像を挿入します。
- リンクをクリックすると新しい画像が表示されます。
今私は、RDBMSのテーブル(メタコード)にマッピングする必要があります。
Product (Id primary key, ImageId int references Image(id))
Image(Id primary key, Content)
質問が流暢NHibernateはを使用してそれを行う方法です。
ご注意:
productMap.References(x => x.Image).Cascade.All()
は適用されない - それは孤立した画像を削除しません。
また、NHは、多対1のためのすべての削除孤児をサポートしていません。
おそらくコンポーネントとの結合のようなものが必要です。
しかし、FLUENT NHでは、
UPDATE:FNHのユーザーグループのジェームズは、この構文を提案した:
WithTable("other table", m =>
{
m.Component(...);
});
しかし、それと運:非サポート例外:廃止された
それはFNHのV1(upcomming)で働くことになって。
うん。私はおそらくコンポーネントが必要ですが、それは別のテーブルにある必要があります。 おそらく、* join *を* component *と組み合わせる必要があります。 FNHを使ってどのようにこれを行うことができないのか分かりません。 –