首页 > 其他 > 详细

linq 左连接三表筛选指定字段集合通过union连接单表指定字段集合

时间:2020-11-11 18:08:12      阅读:39      评论:0      收藏:0      [点我收藏+]

注意!

左连接:是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。

左连接 linq:

IQueryable<MenuDataModel> menus;
                                        
             menus =  (from fu in _context.B2C_FUNCTIONLIST.Where(a => a.PARENT_FUNC != null)
                        join gr in _context.B2C_GROUPFUNCTION on fu.FUNCTIONID equals gr.FUNCTIONID
                        join me in _context.B2C_MEMBERS.Where(a => a.USERNAME == userName)
                          on gr.GROUPID equals me.GROUP_ID
                        select new MenuDataModel
                        {
                            MenuId = fu.FUNCTIONID,
                            MenuName = fu.FUNCTIONNAME,
                            parent = fu.PARENT_FUNC,
                            url = fu.URL,
                            sortby = fu.SORTBY,
                            enabled = fu.ENABLED,
                        })

通过 union 连接另一个集合,形成新的数据集合

 IQueryable<MenuDataModel> menus;

             menus =  (from fu in _context.B2C_FUNCTIONLIST.Where(a => a.PARENT_FUNC != null)
                        join gr in _context.B2C_GROUPFUNCTION on fu.FUNCTIONID equals gr.FUNCTIONID
                        join me in _context.B2C_MEMBERS.Where(a => a.USERNAME == userName)
                          on gr.GROUPID equals me.GROUP_ID
                        select new MenuDataModel
                        {
                            MenuId = fu.FUNCTIONID,
                            MenuName = fu.FUNCTIONNAME,
                            parent = fu.PARENT_FUNC,
                            url = fu.URL,
                            sortby = fu.SORTBY,
                            enabled = fu.ENABLED,
                        }).Union        //union连接  将两个集合进行合并操作,过滤相同的项 (查询字段需前后一致
                        (from f in _context.B2C_FUNCTIONLIST.Where(a => a.PARENT_FUNC ==null)
                         select new MenuDataModel
                         {
                             MenuId = f.FUNCTIONID,
                             MenuName = f.FUNCTIONNAME,
                             parent = f.PARENT_FUNC,
                             url = f.URL,
                             sortby = f.SORTBY,
                             enabled = f.ENABLED,

                         });

 

linq 左连接三表筛选指定字段集合通过union连接单表指定字段集合

原文:https://www.cnblogs.com/lixia0604/p/13959701.html

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