ツリービューをレンダリングするために使用するEFで正常に機能する自己参照テーブル構造があります。EFエンティティは次のようになり、構造全体を熱心にロードします。
class ListItem
{
int Id;
string Text;
ListItem ParentItem;
IList<ListItem> ChildItems;
}
次に、UIに機能を追加して、任意のノードに新しい子ノードを追加し、jQueryを使用してノードを再配置しました。更新された構造は、同じエンティティを使用してセッションに保存されます。
EFを使用して保存し直したい場合、次のような別のエンティティ内にあるため問題が発生しMainEntity
、ツリーを更新するたびにこれを保存(更新)しています。
class MainEntity
{
..
..
IList<ListItem> Tree;
}
セッションの値を使用してこのTreeプロパティを更新し、EFに保存するように指示するにはどうすればよいですか?その構造の親と子を新しい構造に一致するように変更するにはどうすればよいですか?
コマンドパターンを使用してUIのすべてのアクションを記録し、後で保存時にEFエンティティでそれらを再生することを考えていました。しかし、それはやり過ぎのように見えます:(