EntityFramework Linq 查询数据获得树形结构


EntityFramework EF Linq 一个有上下级别的数据列表,查询数据并转换为树形结构对象

代码如下:

public List<TreeData> GetTreeData(string rowID)
{
    var data = entities.data_ArchiveCategoryGroup
        .Where(w => w.RowID != rowID)
        .Select(s => new TreeData()
        {
            RowID = s.RowID,
            ParentRowID = s.ParentRowID,
            GroupName = s.GroupName,
            Sort = s.Sort
        }).ToList();

    List<TreeData> result = new List<TreeData>();
    foreach (var p in data.Where(w => w.ParentRowID == "").OrderBy(o => o.Sort))
    {
        result.Add(new TreeData()
        {
            RowID = p.RowID,
            ParentRowID = p.ParentRowID,
            GroupName = p.GroupName,
            Sort = p.Sort,
            Childs = GetChildData(data, p.RowID)
        });
    }
    return result;
}

public List<TreeData> GetChildData(List<TreeData> dataList, string id)
{
    List<TreeData> nodeList = new List<TreeData>();
    var children = dataList.Where(t => t.ParentRowID == id);
    foreach (var o in children)
    {
        o.Childs = GetChildData(dataList, o.RowID);
        nodeList.Add(o);
    }
    if (nodeList.Count == 0)
        return null;
    else
        return nodeList;
}

public class TreeData
{
    public string RowID { get; set; }

    public string ParentRowID { get; set; }

    public string GroupName { get; set; }
    public int Sort { get; set; }
    public List<TreeData> Childs { get; set; }
}
GarsonZhang www.yesdotnet.com

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YES开发框架
上一篇:EntityFramework Linq 获得所有数据,包括子节点
下一篇:IIS程序池回收配置
评论列表

发表评论

评论内容
昵称:
关联文章

EntityFramework Linq 查询数据获得树形结构
EntityFramework Linq 获得所有数据,包括子节点
WEBAPI获得POST数据
了解LINQ
Linq to SQL语句基础讲解
MSSQL 常用查询集成工具 SQLServerTools
DBHelper SqlSugar EntityFramework 增删改查 性能对比测试
百亿级数据 分库分表 后怎么分页查询
C# LINQ中SUM,MAX,MIN时如果数据为空,报错NULL
百亿级数据 分库分表 后怎么分页查询
EF Linq查找所有子节点或者所有父节点
Linq和Lambda 性能对比
GZDBHelper中GetDataSet方法,执行SQL语句,返回DataSet结构
查询参数类:SQLServer
.NET获得IP地址
GZDBHelper中GetTable方法,执行SQL语句,返回DataTable结构
使用.NET 6开发TodoList应用(13)——实现查询分页
EF Linq判断数据是新增,删除,还是修改
客户端发送数据
EF EntityFramework.MappingAPI批量导入 模型属性顺序和数据库表不一致时导入错位

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码