zoukankan      html  css  js  c++  java
  • Freesql使用一张带父子关系的表,生成list树型数据

    Freesql的版本到1.5后新提供了一个功能,ISelect.ToTreeList 查询树型数据 List,这个功能对父子关系的表很有效果,父子关系表把数据查回来了是平面的,需要再用递归转化为树型。这样通过导航属性和新功能就可以生成树型数据。

    表中的数据结构如下

    id为本节点id,p_id为父节点id。

    类设置如下

    public class AppSysOrg
     {
            [JsonProperty, Column(Name = "id", IsPrimary = true)]
            public long OrgId { get; set; }
            [JsonProperty, Column(Name = "p_id")]
            public long? OrgPId { get; set; }
            [JsonProperty,Navigate("OrgPId")]
            public  List<AppSysOrg> Childs{ get; set; }
    }

    注意,JsonProperty是用于webapi传输过程中序列化使用的,Navigate是freesql中标记导航属性,Navigate 设置的字符串是 类属性名,不是表 字段名!

    正确配置导航属性后,使用新功能

    fsql.Select<AppSysOrg>().ToTreeList();

    即可返回同表中父子关系的json结构图,如下

    关于freesql 1.5的介绍在连接,可以参考https://mp.weixin.qq.com/s/PtF-7SyliRgrbL-iWIc3xw

    参考文章,https://www.cnblogs.com/kellynic/p/11610724.html

  • 相关阅读:
    [luoguP2622] 关灯问题II(状压最短路)
    [luoguP2016] 战略游戏(DP)
    FileUpload
    Mysql -- JDBC
    Mysql优化
    Mysql锁
    Mysql索引
    Mysql事务
    Mysql基本语句
    Listener
  • 原文地址:https://www.cnblogs.com/Lvkang/p/12987370.html
Copyright © 2011-2022 走看看