.net Linq多表组合查询结果集

背景:

主流程表中包含员工ID及流程类型ID,在页面查看流程是需要显示员工姓名及流程名称

操作:

 //先进行分页处理原始数据
            var result = from p in _dbContext.Set<BeWorkflowContent>()
                         select p;
            if (searchWhere != null)
                result = result.Where(searchWhere);
            if (order != null)
                result = result.OrderByDescending(order);
            rowCount = result.Count();

            //多表查询组装最后的数据模型
            var query = from a in result
                        join b in _dbContext.BeUser on a.UserId equals b.UserId
                        join c in _dbContext.BeWorkflow on a.WorkflowId equals c.WorkflowId
                        select new WorkFlowContentV()
                        {
                            CustomerName = a.CustomerName,
                            WorkflowContentId = a.WorkflowContentId,
                            CarType = a.CarType,
                            CarStyle = a.CarStyle,
                            CarLicense = a.CarLicense,
                            UserName = b.TrueName,
                            WorkflowName = c.WorkflowName
                        };
            return query.ToList();

PS:select new之后一定要加对应的类名,不然返回后就是对象转换时会有问题

原文地址:https://www.cnblogs.com/yhnet/p/11975852.html

时间: 2024-11-10 14:52:43

.net Linq多表组合查询结果集的相关文章

Linq 中 表连接查询

1 public void Test(){ 2 3 var query = from a in A join b in B on A.Id equals B.Id into c 4 from d in c.DefaultIfEmpty() 5 select d; 7 } Linq 中 表连接查询,布布扣,bubuko.com

yii下多条件多表组合查询以及自写ajax分页

多条件组合查询主要用到yii的CDbCriteria,这个类很多oem框架都有,非常好用. 前台查询表单效果是这样的,多个条件组,每个组里放多个input,name为数组.当任何一个复选框被勾选上,发起ajax请求,当然,最顶层的复选框勾上时判断是否有子项,有的话把所有的子项勾选上. 但提交一次请求会向服务端post这样一个表单 其中currentPage是隐藏字段,当分页按钮被点击是这个字段的值会发生变化,并且发起查询请求. 这个表单会提交到如下的action中进行处理 1 <?php 2 3

PredicateBuilder类(linq多条件组合查询)

PredicateBuilder类如下: public static class PredicateBuilder { /// <summary> /// 机关函数应用True时:单个AND有效,多个AND有效:单个OR无效,多个OR无效:混应时写在AND后的OR有效 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns>

linq 多表分组查询统计

var q1 = from orderitem in q2 join pd in _iProductDetailContract.Entities on orderitem.ProductDetailId equals pd.Id join pm in ProductMainContract.Entities on pd.ProductMainId equals pm.Id join user in UserContract.Entities on pm.BuyerId equals user.

MySQL必知必会:组合查询(Union)

MySQL必知必会:组合查询(Union) php mysqlsql 阅读约 8 分钟 本篇文章主要介绍使用Union操作符将多个SELECT查询组合成一个结果集.本文参考<Mysql必知必会>+工作实践融合 组合查询 定义 在大多数开发中,使用一条SELECT查询就会返回一个结果集.如果,我们想一次性查询多条SQL语句,并将每一条SELECT查询的结果合并成一个结果集返回.就需要用到Union操作符,将多个SELECT语句组合起来,这种查询被称为并(Union)或者复合查询. 组合查询适用于

数据库9:联结表 高级联结 组合查询 全文本搜索

第十五章联结表 Sql最强大的功能之一就是能在数据检索查询的执行中联结(join)表.联结是利用sql的select能执行的最重要的操作,能很好的理解联结及其语法是学习sql的一个极为重要的组成部分.   外键:外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系. 好处:供应商信息不重复,不浪费空间和时间,方便日后修改,一个表信息改动不影响另一个表的信息 联结是一种机制,使用特殊的语法,可以联结多个表返回一组输出,联结在运行时关联表中正确的行.   创建联结          

【知识库】-数据库_MySQL之高级数据查询:去重复、组合查询、连接查询、虚拟表

简书作者:seay 文章出处: 关系数据库SQL之高级数据查询:去重复.组合查询.连接查询.虚拟表 回顾:[知识库]-数据库_MySQL之基本数据查询:子查询.分组查询.模糊查询 Learn [已经过测试校验] 一.去重复(DISTINCT) 二.组合查询 三.UNION(并集) 四.连接查询 五.虚拟表 一.去重复(DISTINCT) DISTINCT:用于返回唯一不同的值,主要是用于某一字段 语法 SELECT DISTINCT <列名>|* FROM <表名> 示例 -- 查

Webform(Linq高级查、分页、组合查询)

Linq高级查:字符串:模糊查(包含):con.car.Where(r => r.name.Contains(name)).ToList();以什么开头:con.car.Where(r => r.name.StartsWith(name)).ToList();以什么结尾:con.car.Where(r => r.name.EndsWith(name)).ToList(); 数值:个数:.Count()最大值:con.car.Max(r => r.price);最小值:con.car

Linq 组合查询与分页查询

后台: using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class ZS : System.Web.UI.Page { Hashtable ht = new Hashtable(); in