ef 高级操作
一:动态拼接条件查询
var expression = PredicateBuilder.True<OQC_MES_INF_UL_QMS_OFFLINE>();
SYS_ROLES_CONFIG rule = context.SysRolesConfig.Single(t => t.ORG_ID == orgid&&t.STATE=="A"); StringBuilder sb = new StringBuilder();
sb.Append("该机身条码在与当前抽检");
if (!string.IsNullOrEmpty(rule.SYS_PARMS1)) {
//同生产工单
expression = expression.And(a => a.MO_NAME == model.WORK_ORDER_ID);
sb.Append("同生产工单、");
} int count = context.OQC_MES_INF_UL_QMS_OFFLINE.Get(expression).Count();
二:左连接
var result1 = from a in context.OQC_ASS_PARTS_V_INF
join b in context.INV_MITEM on a.PRIMARY_ITEM_ID equals b.CODE
where a.STATE == StateConverter.Active && a.ORG_ID == ORG_ID && a.ORG_ID == b.ORG_ID && a.WIP_ENTITY_NO == WORK_ORDER_ID
select new
{
WIP_ENTITY_ID = a.WIP_ENTITY_ID,
PROID = a.PRIMARY_ITEM_NAME,
WIP_ENTITY_NO = a.WIP_ENTITY_NO,
START_QUANTITY = a.START_QUANTITY,
EATTRIBUTE1 = b.EATTRIBUTE1,
COMPLETE_DATE = a.SCHEDULED_COMPLETION_DATE,
SCHEDULE_GROUP = a.SCHEDULE_GROUP_NAME,
PRODUCTION_LINE = a.EATTRIBUTE1
};
var result2 = from a in context.OQC_ASS_PARTS_V_INF
join c in context.OQC_OMS_IF_QMS_ORDERINFO_V_INF on a.PRIMARY_ITEM_NAME equals c.MRP_ITEM_CODE
where a.STATE == StateConverter.Active && a.ORG_ID == ORG_ID && a.ORG_ID == c.ORG_ID && a.WIP_ENTITY_NO == WORK_ORDER_ID
select new
{
WIP_ENTITY_ID = a.WIP_ENTITY_ID,
CONSUME_COUNTRY = c.CONSUME_COUNTRY,
CUSTOMER_NAME = c.CUSTOMER_NAME,
CUSTOMER_CODE = c.CUSTOMER_CODE
};
var result3 = from aa in result1
join bb in result2 on aa.WIP_ENTITY_ID equals bb.WIP_ENTITY_ID
into cc
from bb in cc.DefaultIfEmpty()
select new
{
//产品编码
PROID = aa.PROID,
//生产工单
WIP_ENTITY_NO = aa.WIP_ENTITY_NO,
//工单数量
START_QUANTITY = aa.START_QUANTITY,
//产品型号
EATTRIBUTE1 = aa.EATTRIBUTE1,
//完工时间
COMPLETE_DATE = aa.COMPLETE_DATE,
//车间
SCHEDULE_GROUP = aa.SCHEDULE_GROUP,
//客户订单号
CUSTOMER_CODE = bb.CUSTOMER_CODE,
//客户名称
CUSTOMER_NAME = bb.CUSTOMER_NAME,
//销往地
CONSUME_COUNTRY = bb.CONSUME_COUNTRY,
//作业产线信息
PRODUCTION_LINE=aa.PRODUCTION_LINE
};
var rs = result3.FirstOrDefault();
ef 高级操作的更多相关文章
- ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪
ASP.NET MVC深入浅出(被替换) 一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...
- EF如何操作内存中的数据以及加载相关联表的数据:延迟加载、贪婪加载、显示加载
之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需要用的,这个系列讲讲如何使用EF操作数据库.老版本的EF主要是通过Ob ...
- [Session] SessionHelper2---C#关于Session高级操作帮助类 (转载)
点击下载 SessionHelper2.rar 这个类是关于Session的一些高级操作1.添加时限制时间2.读取对象3.读取数据等等看下面代码吧 /// <summary> /// 联系 ...
- EF如何操作内存中的数据和加载外键数据:延迟加载、贪婪加载、显示加载
EF如何操作内存中的数据和加载外键数据:延迟加载.贪婪加载.显示加载 之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需 ...
- cassandra高级操作之索引、排序以及分页
本次就给大家讲讲cassandra的高级操作:索引.排序和分页:处于性能的考虑,cassandra对这些支持都比较简单,所以我们不能希望cassandra完全适用于我们的逻辑,而是应该将我们的逻辑设计 ...
- MySQL学习笔记_9_MySQL高级操作(上)
MySQL高级操作(上) 一.MySQL表复制 create table t2 like t1; #复制表结构,t2可以学习到t1所有的表结构 insert into t2 ...
- MySQL学习笔记_10_MySQL高级操作(下)
MySQL高级操作(下) 五.MySQL预处理语句 1.设置预处理stmt,传递一个数据作为where的判断条件 prepare stmt from "select * from table ...
- Asp.Net Core 2.0 项目实战(4)ADO.NET操作数据库封装、 EF Core操作及实例
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
- python列表(list)的使用技巧及高级操作
python列表(list)的使用技巧及高级操作置顶 2018年03月25日 13:39:41 顽劣的石头 阅读数:5478 标签: python extend bisect list enumera ...
随机推荐
- MINIX3 进程调度分析
MINIX3 进程调度分析 5.1MINIX3 进程调度概要 MINIX3 的进程调度还是非常简单的,调度算法是非常短小的,其目的就是体现 了一个简单和高效的设计原则,当然简单和高效其实很难并存, ...
- Centos 6.4 8250/16550 只生成了4个串口
/********************************************************************* * Centos 6.4 8250/16550 只生成了4 ...
- 性能测试之-wrk(转)
转载地址:http://zjumty.iteye.com/blog/2221040 测试先行是软件系统质量保证的有效手段. 在单元测试方面, 我们有非常成熟的 xUnit 方案. 在集成测试方面, 我 ...
- 非常基础的css注意点
排版了很多页面,才发现自己忽视了一个很基本且重要的知识点: 一个div在一般的浏览器中,算它的width,要计算其content,padding,border. 但是在CSS中定义一个div的widt ...
- 解决f.lux总是弹框定位
解决f.lux总是弹框定位,直接导入成功定位的注册表文件即可. 以下保存为f.lux.reg 双击导入即可. Windows Registry Editor Version 5.00 [HKEY_CU ...
- 移动互联网实战--Apple的APNS桩推送服务的实现(2)
前记: 相信大家在搞IOS推送服务的开发时, 会直接使用javapns api来简单实现, 调试也直连Apple的APNS服务(产品/测试版)来实现. 很少有人会写个APNS的桩服务, 事实也是如此. ...
- 学习使用:before和:after伪元素
http://www.w3cplus.com/css3/learning-to-use-the-before-and-after-pseudo-elements-in-css.html
- XUtils解析
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...
- hdu3308 线段树——区间合并
更新一个点: 求某个区间的最长连续上升序列: 链接:http://acm.hdu.edu.cn/showproblem.php?pid=3308 #include <cstdio> #in ...
- Ubuntu 安装软件的命令
Ubuntu 安装软件的命令 安装flashplayer sudo apt-get install flashplugin-installer 安装百度云客户端 软件在百度云盘里面 安装必要的开发环境 ...