EF使用linq进行多表查询是完全可以的,最后ToList()调用的时候回产生一条分页的sql语句,所以并不是全部查询再分页的。所以不会影响查询的性能

 public void TestLinq()
{
var a = from m in DbContext.Set<T1>() join q in DbContext.Set<T2>() on m.ID equals q.ID select m;
a.OrderBy(m=>m.Phone_User).Skip().Take().ToList();
}

我们可以利用dynamic灵活的动态取出指定的字段

 var a = from m in DbContext.Set<T1>() join q in DbContext.Set<T2>() on m.ID equals q.ID select new { m.ID, m.Phone };
a = a.OrderBy(m => m.Phone).Skip().Take();
List<dynamic> c = a.ToList<dynamic>();
var b = c[].ID;

是不是很方便?

EF中使用linq进行关联查询的更多相关文章

  1. EF中使用语句 或存储过程 查询(转)

    EF中使用语句 或存储过程 查询 1.无参数查询 var model = db.Database.SqlQuery("select* from UserInfoes ").ToLi ...

  2. 基于EF的数据外键关联查询

    现在很多ORM不自带外键关联的实体查询,比如我查询用户,用时将关联的角色信息查询出来,那么就要进行2次查询,很麻烦.而我现在要做的就是基于EF的外键关联查询.很方便的. 首先,创建基础查询的BaseS ...

  3. EF中使用SqlQuery进行参数化查询时抛出异常

    EF中使用带参数的SqlQuery进行查询时,抛出"另一个 sqlparametercollection 中已包含 sqlparameter"异常. 这是由于SqlParamert ...

  4. 详解MongoDB中的多表关联查询($lookup)

    一.  聚合框架 聚合框架是MongoDB的高级查询语言,它允许我们通过转换和合并多个文档中的数据来生成新的单个文档中不存在的信息. 聚合管道操作主要包含下面几个部分: 命令 功能描述 $projec ...

  5. 详解MongoDB中的多表关联查询($lookup) (转)

    一.  聚合框架 聚合框架是MongoDB的高级查询语言,它允许我们通过转换和合并多个文档中的数据来生成新的单个文档中不存在的信息. 聚合管道操作主要包含下面几个部分: 命令 功能描述 $projec ...

  6. Hiberbate中的一对多关联查询

    Hibernate中一对多关系的应用 案例:一个人可以拥有多辆小轿车 目的:通过hibernate的相关配置,利用HQL语句成功的查询出某人拥有某些车辆 1. 项目结构 2. domain类的创建详情 ...

  7. EF中新建表和关联表的方法

    以机场表为例 private static AIRPORT_HELIPORTManager AirportHeliportManager => ManagerFactory.Instance.A ...

  8. EF中使用Linq时First、FirstOrDefault、Single、SingleOrDefault几个方法的区别

    在使用EntityFramework开发时,.NET的System.Linq.Enumerable类为我们提供了许多Linq方法. 给大家分享一下关于First.FirstOrDefault.Sing ...

  9. Mysql中实现多表关联查询更新操作

    今天一下要记录一下才行了,每次都要去网上查找方法,每次都难找得要命 Mysql在更新某些字段的数据时,有时候会依据其他表的数据进行更新,需要通过关联后对不同的行更新不同的值,传统的update set ...

随机推荐

  1. ckeditor简单的演示

    先把ckeditor文件添加到项目中 然后在页面上引用 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml& ...

  2. zabbix_agent 步骤

    Zabbix server 做好了,只要在安装一个zabbix-agent(监控端就可以啦) groupadd zabbix useradd -g zabbix zabbix 下载一个客户端的安装包: ...

  3. php课程---面向对象

    面向对象:一:定义类 class Dog { var $name; var $age; var $pinzhong; function Jiao() { echo "{$this->n ...

  4. UFS

    ● UFS vs eMMC 1. UFS有分离的读写通道,可以同时进行读写操作(双向),但是eMMC在同一时刻只能读或写. 2. UFS有一个命令队列,将命令进行排序.因此,多个命令可以同时处理,从而 ...

  5. 使用 JavaScript 实现基本队列、优先队列和循环队列

    1.基本队列的实现 基本队列的方法中,包含了 ①向队列(尾部)中添加元素(enqueue).②(从队列头部)删除元素(dequeue).③查看队列头部的元素(front).④查看队列是否为空(isEm ...

  6. android 一个简单的服务例子

    public class MessageService extends Service { // 获取消息线程 private MessageThread messageThread = null; ...

  7. SQL简介

    SQL 是用于访问和处理数据库的标准的计算机语言. 什么是 SQL? SQL 指结构化查询语言 SQL 使我们有能力访问数据库 SQL 是一种 ANSI 的标准计算机语言 编者注:ANSI,美国国家标 ...

  8. DHCP Set Hostname

    参考: FreeBSD DHCP Set Hostname ( Empty Hostname After Reboot ) -- http://www.cyberciti.biz/faq/freebs ...

  9. libgdx 常见问题

    libgdx assets file not found Select Run -> Edit Configurations from the menu In the "Working ...

  10. 关于队列queue

    1.在多线程和多进程中都有queue.调用方式不同,使用方式一致: 线程中: import queue q = queue.Queue(maxsize = 2) 进程中: from multiproc ...