Model 递归

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class MenuList
   {
       private List<MenuList> children = new List<MenuList>();
 
      [DataField("departName")]
       public int Id { get; set; }
       public string? Name { get; set; }
       public int PId { get; set; }
       public string? Icon { get; set; }
       public string? Path { get; set; }
 
       public List<MenuList> Children { get { return children; } set { children = value; } }
 
   }<br>

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
public List<TalkModel> GetMenuList()
{
    var sql = "select * from s_menu ";
    var dt = db.ExecuteDataTable(sql);
    List<TalkModel> list = new();
 
    for (int i = 0; i < dt.Rows.Count; i++)
    {
        if (Convert.ToInt32(dt.Rows[i]["pid"]) == 0)
        {
            list.Add(new TalkModel
            {
                Id = Convert.ToInt32(dt.Rows[i]["id"]),
                Name = dt.Rows[i]["name"].ToString(),
                PId = Convert.ToInt32(dt.Rows[i]["pid"]),
                Icon = dt.Rows[i]["icon"].ToString(),
                Path = dt.Rows[i]["path"].ToString()
            });
        }
        else
        {
            list.ForEach(item =>
            {
                if (item.Id == Convert.ToInt32(dt.Rows[i]["pid"]))
                {
                    TalkModel children = new()
                    {
                        Id = Convert.ToInt32(dt.Rows[i]["id"]),
                        Name = dt.Rows[i]["name"].ToString(),
                        PId = Convert.ToInt32(dt.Rows[i]["pid"]),
                        Icon = dt.Rows[i]["icon"].ToString(),
                        Path = dt.Rows[i]["path"].ToString()
                    };
                    item.Children.Add(children);
                }
            });
 
        }
 
    }
    return list;
}

  2

复制代码
 public List<TalkModel> GetReplyComment(string onlycode, int id)
 {
     var sql = $"select * from l_talk where onlycode= '{onlycode}' and remarkId= {id}";
     var res = db.ListOrDefault<TalkModel>(sql);
     var list = res.Where(x => x.PId == 0).ToList();

     BuildTree(list, res);

     return list;
 }

 private static void BuildTree(List<TalkModel> list, List<TalkModel> res)
 {

     foreach (var item in list)
     {
         item.Children = res.Where(x => x.PId == item.Id).ToList();

         BuildTree(item.Children, res);
     }
 }
复制代码

 

 

model2

1
row["evaluteNoneStus"] = string.Join(",", dtEvalute.Where(x => x.StuWorkType == 1 || x.StuWorkType == 2).Select(x => x.stuName + "#" + x.markingRealName + "#" + x.UserName + "#" + x.StuWorkState));

  

posted @   贾平凡  阅读(111)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示