ツリービュー制御が必要なアプリケーションでC#とSQL2005を組み合わせようとしています。
ユーザーの要求の1つは、ツリービューがユーザーフレンドリーに子ノードの無限の部門に成長できることです。そのデータはデータベースに保存する必要があり、ユーザーの要求に応じて、ユーザーが以前に編集および配置したときに、親ノードと子ノードのツリービューを再度描画する必要があります。
ツリービューの2つの軸で簡単に成長できるテーブルをどのように設計する必要がありますか。
私たちが常に行ってきたことは、親を指すparent_idを使用して、自己結合として実行することです。これには、シンプルで操作が簡単であるなどの利点があります。もちろん、再帰とWITH RECURSIVECTEも必要です。作業は簡単で、膨大な深さや大量のレコードで作業していない限り、うまく機能します(必要に応じて、設定した深さまで生成し、ユーザーが拡張したときにさらにレコードをフェッチできることに注意してください)。