LINQ 主从表查询:同时设置主表及明细表查询条件注意事项
LINQ 主从表查询:同时设置主表及明细表查询条件注意事项参考C#代码
C# Code: /// <summary> /// 库存盘点查询功能 /// </summary> public List<tb_IC> Query(QueryIC input) { var q = _Database.GetQueryable<tb_IC>(); //主表 var d = _Database.GetQueryable<tb_ICs>(); //明细表 //主表查询条件 if (!String.IsNullOrWhiteSpace(input.CreatedBy)) q = q.Where(w => w.CreatedBy == input.CreatedBy); if (input.DocDateFrom > Globals.MinSqlDate) q = q.Where(w => w.DocDate >= input.DocDateFrom); if (input.DocDateTo > Globals.MinSqlDate) q = q.Where(w => w.DocDate <= input.DocDateTo); if (!String.IsNullOrWhiteSpace(input.DocNo)) q = q.Where(w => w.ICNO == input.DocNo); if (!String.IsNullOrWhiteSpace(input.DocNoFrom)) q = q.Where(w => w.ICNO.CompareTo(input.DocNoFrom) >= 0); if (!String.IsNullOrWhiteSpace(input.DocNoTo)) q = q.Where(w => w.ICNO.CompareTo(input.DocNoTo) <= 0); //明细表查询条件 if (!String.IsNullOrWhiteSpace(input.StockCode)) d = d.Where(w => w.ProductCode.CompareTo(input.StockCode) == 0); //获取主表单据号码 var join = (from a in q join b in d on a.ICNO equals b.ICNO into tmp //LEFT JOIN from b in tmp.DefaultIfEmpty() select a); //返回数据 return join.Distinct().OrderByDescending(o => o.CreationDate).ToList(); } //来源:C/S框架网 | www.csframework.com | QQ:23404761 注意事项 1. 查询条件太多,要定义查询参数模型 2. 设置主表查询条件 3. 设置明细表查询条件 4. 主从表关联,要使用LEFT JOIN, 避免明细表无记录情况下主表出不来 5. 要使用DISTINCT语法,因为主从表JOIN,主表记录会根据明细表的数量重复 扫一扫加作者微信
参考文档:
明细表使用ButtonEdit选择商品资料并设置商品名称,单价等信息 WCF服务.svc文件的代码分离到其它dll文件注意事项 CS开发框架旗舰版主从从表(多级明细表)实例,自动生成主从表代码 C/S系统开发框架多级明细表(三级表/主从从表)数据结构参考 使用bllBaseDataDict类提交业务单据(主从表)的明细表实例|C/S框架网 支持主从表BLL单独提交明细表优化UpdateDetailKey方法|C/S框架网 主从表界面自动计算明细表合计汇总金额数量 C/S架构快速开发平台提供高级查询功能 - 自定义查询条件搜索数据 Winform框架 - 多语言界面修改窗体标题注意事项 FAQ:点明细表删除按钮删除一条数据,保存后发现其他记录也被删除了!|C/S开发框架 C/S快速开发框架旗舰版V5.1 | 业务单据明细表字段命名规范|软件手册 生产单(PN) | 多级明细表 | 实例源码 | C/S快速开发框架旗舰版V5|软件手册 C# LINQ 查询条件比较两个日期的天数 .NET5 Core 关于LINQ查询使用DateDiff解决方案|C/S开发框架 Winform开发框架 - 使用Linq判断日期时间范围查询条件的方法
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |