質問
主体
して企業と呼ばれる製品ロード用設定によりどちらのモ.
製品カテゴリーの設定によりどちらのモ幸populatesました。
データベース
データベースに、製品は外国語の鍵を握る。
シナリオ
ユーザーの編集この製品は、webインタフェース)では,異なるカテゴリー(言の代わりに"魚"を選択し"Veg").
ではないだろうかドロップダウンリストは、各カテゴリーを示します。いることができないカテゴリを取得するint。
問題
明らかにしたい、変更を保存してください製品も影響の変化が新しいint(う2つのではなく、1)です。
この取得は、既存の製品は、この日は、今回の問題です。
どのような人が住んでいますか"カテゴリid"分野の製品においてカテゴリの物件です。
その思いを取得するカテゴリー(id)だけに割り当てます。
ねん知りたいです...
a)を追加カテゴリid産品
b)新しいカテゴリの割り当てに関連するidで、添付する製品が確実に起こすような誤りがあった場合や、上書き、既存のカテゴリー)
c)取得(ルックアップ)カテゴリーからシステム(id)を添付する製品の
d)僕ら!
解決
更新:たSession.loadは正解ですの
product.Category = session.Load<Category>(2);
session.Save(product);
他のヒント
あなたがたSession.load(ID)機能を使用することができるかもしれないように見えます。
たSession.loadは、あなたがロードし、その時点で別のプロパティを要求するまで、IDとプロキシを返す特殊なメソッドです。 IDに一致する項目がない場合は、エラーがスローされます。以下のようなものを試してみてください。
product.Category = Session.Load<Category>(2); //2 being the new category ID
Session.SaveOrUpdate(product);
私はほんの少しのテストを行なったし、全体のカテゴリを引き戻すようには見えなかった。
(文字列または番号を指定できます)は、それぞれのデータベース値を列挙型としてあなたのカテゴリーをマッピングするために使用NHのEnumStringType<T>
。あなたはそれのためにグーグル場合は、かなりの数の使用例を見つけることができます。
HTH!