2012-03-15 10 views
0

私はこれを持っていると言います。nhibernateのテーブル関係参照を更新する最も良い方法は?

国には多くの製品があり、製品には多くの国(多数から多数)があります。

今、製品Aは、彼らがカナダに製品Aの販売を停止何らかの理由で今

US 
Canada 

を持っています。製品Aが現在カナダに入らなくなったため、製品Aを更新して関係を削除するにはどうすればよいですか。

ProudctA.Countries.Clear()と呼ばれるリストをクリアする必要があります。その後、まだ選択されている国を追加して追加しますか?

ProductA.Countries.Add(loadCountry(id)) // this would be a loop and I would be loading the ids from the select countries. 

変更したものを把握して削除したいと思う方法を教えてください。

Guidのリストをサーバーから取得しています。ユーザーは選択リストボックスを表示し、国を選択するだけです。

米国およびカナダの両方が選択されたが、カナダの選択を解除することを選択したため、米国のGUIDのみが選択された状態でサーバーに返送されました。あなたは既にそれらをロードするので

答えて

0

は私がしかし、この

countriesToRemove = productA.Countries.Where(c => !selectedIds.Contains(c.Id)).ToList(); 

foreach(var country in countriesToRemove) 
{ 
    productA.Countries.Remove(country); 
} 

ような何かをするだろう(セッション・キャッシュ内にある)とリンクテーブルのエントリは削除され、何が削除されていない場合、それは問題だけでしょうとにかく挿入されています。

関連する問題