menuItem テーブルの次のデータベース設計があります
Id PId MenuLink
--- --- ---------
1 Null Home.aspx
2 Null Admin.aspx
3 Null Logout.aspx
4 2 Manage Content.aspx
5 2 Manage Users.aspx
6 2 Manage Storage.aspx
7 4 Review Content.aspx
8 4 Add New Content.aspx
9 8 Articles.aspx
10 8 News.aspx
n レベルの階層メニューで、ルート項目には Pid Nil があり、残りの項目には親 ID があります。これで、このテーブルのビジネス オブジェクトができました。
public class myMenuItem
{
public int Id {get; set;}
public int PId {get; set;}
public string MenuLink {get; set;}
}
各 MenuItem BO に親アイテムとそのすべての子アイテム (n レベル) が含まれるように、busienss オブジェクトを設定したい
現在、最初にルート項目を取得してから、個別に作成した個別のビジネス オブジェクト (複製) を各レベルに 1 つずつ入力します。このタスクを実行するためのより良い方法はありますか (私のテーブルは単一であるため) ?
public class myMenuItem
{
public int Id {get; set;}
public int PId {get; set;}
public string MenuLink {get; set;}
public List<level1> Level1Items {get ; set;}
public List<level2> Level2Items {get ; set;}
}
// Duplicate class
public class level1
{
public int Id {get; set;}
public int PId {get; set;}
public string MenuLink {get; set;}
// Manually create another list
}