一:动态拼接条件查询

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 高级操作的更多相关文章

  1. ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪

    ASP.NET MVC深入浅出(被替换)   一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...

  2. EF如何操作内存中的数据以及加载相关联表的数据:延迟加载、贪婪加载、显示加载

    之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需要用的,这个系列讲讲如何使用EF操作数据库.老版本的EF主要是通过Ob ...

  3. [Session] SessionHelper2---C#关于Session高级操作帮助类 (转载)

    点击下载 SessionHelper2.rar 这个类是关于Session的一些高级操作1.添加时限制时间2.读取对象3.读取数据等等看下面代码吧 /// <summary> /// 联系 ...

  4. EF如何操作内存中的数据和加载外键数据:延迟加载、贪婪加载、显示加载

    EF如何操作内存中的数据和加载外键数据:延迟加载.贪婪加载.显示加载 之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需 ...

  5. cassandra高级操作之索引、排序以及分页

    本次就给大家讲讲cassandra的高级操作:索引.排序和分页:处于性能的考虑,cassandra对这些支持都比较简单,所以我们不能希望cassandra完全适用于我们的逻辑,而是应该将我们的逻辑设计 ...

  6. MySQL学习笔记_9_MySQL高级操作(上)

    MySQL高级操作(上) 一.MySQL表复制 create table t2 like t1;               #复制表结构,t2可以学习到t1所有的表结构 insert into t2 ...

  7. MySQL学习笔记_10_MySQL高级操作(下)

    MySQL高级操作(下) 五.MySQL预处理语句 1.设置预处理stmt,传递一个数据作为where的判断条件 prepare stmt from "select * from table ...

  8. 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 ...

  9. python列表(list)的使用技巧及高级操作

    python列表(list)的使用技巧及高级操作置顶 2018年03月25日 13:39:41 顽劣的石头 阅读数:5478 标签: python extend bisect list enumera ...

随机推荐

  1. "Your local changes to the following files would be overwritten by merge" on git

    运行: git merge --ff origin/master 得到错误信息: error: Your local changes to the following files would be o ...

  2. 继承自CCObject的对象成员变量出错或者为空的问题

    写了个类想让其作为某种数据集合,还可以自动销毁,所以就直接继承了最底层的CCObject,所以并不属于视图,也就不会被addChild到显示列表里,于是就造成了接下来遇到的一个情况:其所有的成员变量被 ...

  3. Qt之QPropertyAnimation

    简述 QPropertyAnimation类定义了Qt的属性动画. QPropertyAnimation以Qt属性做差值,作为属性值存储在QVariants中,该类继承自QVariantAnimati ...

  4. (实用篇)php精确的统计在线人数的方法

    这是一个非常精确的,通过php实现统计在线人数的方法,想知道怎么实现的请耐心阅读. <?php $filename='online.txt';//数据文件 $cookiename='VGOTCN ...

  5. JS中onpropertychange和onchange事件区别小结

    当一个HTML元素的属性用js改变的时候,都能通过onpropertychange来捕获.例如一个文本text对象的value属性被页面的脚本修改的时候,onchange无法捕获到,而onproper ...

  6. UVa 10795 - A Different Task

    题目大意:给出n,表示说有n个大小不同的盘子,然后再给出每个盘子的初始位置和目标位置,要求计算出最少的步数使得每个盘子都移动到它的目标位置. 分析:  首先找最大不在目标柱子上的盘子K,因为如果最大的 ...

  7. Codeforces Round #374 (Div. 2) A B C D 水 模拟 dp+dfs 优先队列

    A. One-dimensional Japanese Crossword time limit per test 1 second memory limit per test 256 megabyt ...

  8. ZOJ 1188 DNA Sorting

    原题链接 题目大意:给定一串字符串,查找字符串里字母逆序排列的对数,按照由少到多的顺序把所有字符串进行排列. 解法:用C++字符串string类的iterator,从每个字符串的起始开始,查找逆序字符 ...

  9. 自定义动画方法 animate()

    animate方法的语法结构为: animate(params,speed,callback); 参数说明: (1) params:一个包含样式属性及值的映射,比如{property:'value1' ...

  10. Spring MVC 通过@Value注解读取.properties配置内容

    第一步:在applicationContext.xml配置: <bean id="configProperties" class="org.springframew ...