一:动态拼接条件查询

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. linxu fcntl 函数用法 【转】

    功能描述:根据文件描述词来操作文件的特性. 文件控制函数         fcntl -- file control 头文件: #include <fcntl.h>;          i ...

  2. SpringCloud学习后获取的地址

    关于SpringCloud + Docker 学习地址: (1) https://yq.aliyun.com/articles/57265 (2) https://yq.aliyun.com/team ...

  3. ANTLR3完全参考指南读书笔记[03]

    前言 文中第4章内容有点多,有点枯燥,但不坚持一下,之前所做的工作就白做了. 再次确认一下总体目标: protege4编辑器中Class Definition中语法解析和错误提示: Java虚拟机规范 ...

  4. Codeforces Round #366 (Div. 2) C 模拟queue

    C. Thor time limit per test 2 seconds memory limit per test 256 megabytes input standard input outpu ...

  5. C++ Primer : 第十一章 : 关联容器之关联容器的迭代器和操作

    关联容器的操作 除了和顺序容器定义的类型之外,关联容器还定义了一下几种类型: 关联容器额外的类型别名  key_type    此容器类型的关键字类型 mapped_type  每个关键字关联的类型, ...

  6. leetcode 130. Surrounded Regions----- java

    Given a 2D board containing 'X' and 'O' (the letter O), capture all regions surrounded by 'X'. A reg ...

  7. leetcode 120 Triangle ----- java

    Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...

  8. Apache配置日志功能

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent ...

  9. LNMP环境搭建(discuz论坛)

    一.操作系统级环境及软件版本 操作系统:CentOS release 6.5 (Final)minimal 内核版本:2.6.32-431.el6.x86_64 MySQL版本:MySQL-5.6.2 ...

  10. Cent OS 6.5安装 php memcached扩展

    首先查看memcache的依赖库是否有安装,如果对这个有疑问可以参考php手册的memcache的安装需求说明 命令如下: 查询: rpm -qa | grep libevent 安装:yum -y ...