エンティティ
NHibernate を使用してロードされる Product というエンティティーがあります。
製品には、NHibernate が喜んで入力してくれるカテゴリがあります。
データベース
データベースでは、Product にカテゴリの外部キーがあります。
シナリオ
ユーザーはこの製品を (Web インターフェイス経由で) 編集し、別のカテゴリを選択します (たとえば、「魚」の代わりに「野菜」を選択します)。
これはおそらく、各カテゴリが表示されたドロップダウン リストです。彼らが別のカテゴリを選択すると、int キーが取得されます。
問題
変更を Product に保存したいのは明らかですが、実際には変更は新しい int (1 ではなく 2 など) を保存することだけです。
したがって、既存の製品を取得すると、問題が発生します。
Product には「CategoryID」フィールドはありません。Category プロパティしかありません。
しかし、製品に割り当てるためだけに (ID で) カテゴリを取得する必要はありません。
だから私が知りたいのは...
a) CategoryID プロパティを製品に追加します
b)新しいカテゴリを作成し、関連するIDを割り当てて製品に添付します(ただし、エラーが発生するか、既存のカテゴリを上書きします)
c) システムからカテゴリを取得 (ルックアップ) し (ID で)、それを製品に添付します。
d) まったく別のことをする!