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 ...
随机推荐
- linxu fcntl 函数用法 【转】
功能描述:根据文件描述词来操作文件的特性. 文件控制函数 fcntl -- file control 头文件: #include <fcntl.h>; i ...
- SpringCloud学习后获取的地址
关于SpringCloud + Docker 学习地址: (1) https://yq.aliyun.com/articles/57265 (2) https://yq.aliyun.com/team ...
- ANTLR3完全参考指南读书笔记[03]
前言 文中第4章内容有点多,有点枯燥,但不坚持一下,之前所做的工作就白做了. 再次确认一下总体目标: protege4编辑器中Class Definition中语法解析和错误提示: Java虚拟机规范 ...
- 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 ...
- C++ Primer : 第十一章 : 关联容器之关联容器的迭代器和操作
关联容器的操作 除了和顺序容器定义的类型之外,关联容器还定义了一下几种类型: 关联容器额外的类型别名 key_type 此容器类型的关键字类型 mapped_type 每个关键字关联的类型, ...
- leetcode 130. Surrounded Regions----- java
Given a 2D board containing 'X' and 'O' (the letter O), capture all regions surrounded by 'X'. A reg ...
- leetcode 120 Triangle ----- java
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...
- Apache配置日志功能
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent ...
- LNMP环境搭建(discuz论坛)
一.操作系统级环境及软件版本 操作系统:CentOS release 6.5 (Final)minimal 内核版本:2.6.32-431.el6.x86_64 MySQL版本:MySQL-5.6.2 ...
- Cent OS 6.5安装 php memcached扩展
首先查看memcache的依赖库是否有安装,如果对这个有疑问可以参考php手册的memcache的安装需求说明 命令如下: 查询: rpm -qa | grep libevent 安装:yum -y ...