首页 > 移动平台 > 详细

dapper 父子集合查询 获取带有子集集合的数据

时间:2020-11-15 21:18:44      阅读:233      评论:0      收藏:0      [点我收藏+]

Dapper之QueryAsync

public static Task<IEnumerable> QueryAsync<TFirst, TSecond, TReturn>()
应用场景:获取带有子集集合的数据
  • Parent——带有子节点的Model
public class Parent
    {
        public Parent()
        {
            Child= new List<Child>();
        }

        public string Id { get; set; }

        public string Name { get; set; }

        public List<Child> Child{ get; set; }
    }

Child——子节点model

public class Child
    {
        public string Id { get; set; }

        public string Name { get; set; }
    }

 

 var lookup = new Dictionary<string, Parent>();
 var sql = " ";
 await db.QueryAsync<Parent, Child, Parent>(
                sql,
                (b, s) =>
                {
                	//获取父节点
                    Parenttmp;
                    if (!lookup.TryGetValue(b.Id, out tmp))
                    {
                        tmp = b;
                        lookup.Add(b.Id, tmp);
                    }
					//获取子节点集合
                    if (s != null && (!tmp.Child.Any(x => x.Id == s.Id)))
                    {
                        tmp.Child.Add(s);
                    }
                    return b;
                },
                new { ParentId = id });
             return lookup.Values.ToList();

dapper 父子集合查询 获取带有子集集合的数据

原文:https://www.cnblogs.com/SpiritWalker/p/13978819.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!