これらのレコードは、linq to sql で呼び出しているストアド プロシージャから取得されています。
int_PostTypeId vcr_PostType int_PostTypeId_fk vcr_Slug HLevel
49 c 36 c 1
77 e 49 c/e 2
78 f 77 c/e/f 3
79 g 77 c/e/g 3
私はこれらのレコードのセットを持っています。
int_PostTypeId 49の編集中にスラッグをc1に変更したとします。
1) 子レコードのスラッグも変更する必要があります。
77 のスラッグは c1/e になります 78 のスラッグは c1/e/f になります 79 のスラッグは c1/e/g になります
2) レコード 77 を編集してスラッグを c/e2 に変更すると、スラッグ 78 と 79 も c/e2/f と c/e2/g に変更する必要があります。
そのため、レコード内のスラッグを編集すると、子スラッグが存在する場合は変更されます。linqでそれを行う最も適切で効率的な方法は何ですか. 私は再帰的なループ パスを取っていますが、それは非常に非効率的だと思います。より一般的なアプローチのアイデアはありますか? または他のアプローチ。