Linq的连表查询

Linq做连表查询,可以先查出A、B表,然后再join A、B表,操作A、B组合的匿名表X

var table1=from r in shiti.a()
                  from y in r.years
                  where y>2010
                  select new
                 {
                   year=y,
                   name=r.FirstName
                 };
var table2=from t in shiti.b()
                  from y in t.years
                  where y>2010
                  select new
                  {
                    year=y,
                    name=t.name
                  }
然后根据这两个查询再通过子句join t in table1 on r.years equals t.years
var tablesum=from r in table1 join t in table2 on r.years equals t.years
             select new
             {
              years=r.year,
              teams=r.name,
              racer=t.name
             }

还可以直接就写在一起

时间: 2024-11-05 15:47:39

Linq的连表查询的相关文章

全国排名的问题(linq 的连表查询 等同于sql的left join)

前言:要获得全国排名,(因为权限问题,显示的数据不是全国的数据,而是某个分区的数据,因此,不能获得数据后排序得到排名) 显示本部的员工积分并且获得在全国的排名. 我的思路:获得显示的员工信息集合1,获得全国的员工ID,积分和,排名的数据集合2,根据集合1的员工在集合2里直接将排名取出 1.获得显示的员工信息  list1(具体就不展示了) 2.获得全国的员工ID,积分和,排名的数据集合2 表1:员工表     表2:积分表 一个员工可以有多条积分记录,也可能没有数据 1 var national

Linq多表查询 返回组合实体 踩坑记

新年就不再记流水账了吧,无关紧要的日志太多也不好,有时要找自已记录的一些要点要翻半天 春节假期在家陆陆续续也有在做公司的事,主要是重构,接手的代码看着比较乱,花了很多时间来重构,现在看上去好多了. 使用Linq进行多表查询,要返回各个表的几个组合数据, public class A{ public string NameA{get; set;} } public class B{ public string NameB{get; set;} } 1.原先项目是定义了一个类,里面包含几张表的各个字

使用Entity Framework Core需要注意的一个全表查询问题

.NET Core 迁移工作如火如荼,今天在使用 Entity Frameowork Core(又名EF Core)时写了下面这样的 LINQ 查询表达式: .Where(u => u.Id == new Guid(userId)).FirstOrDefaultAsync(); 结果在 SQL Server Profiler 中发现竟然进行了全表查询. 之后将 new Guid(userId) 从表达式中移出,保存于一个局部变量中,使用这个局部变量进行查询,全表查询问题就解决了. var use

LINQ驱动数据的查询功能

一.LINQ概念 LINQ是微软在.NetFramework3.5中新加入的语言功能,在语言中以程序代码方式处理集合的能力. 1.1 LINQ VS 循环处理 在我刚工作时候,对于集合对象的处理一般是采用循环这个集合处理,在处理实值类型上这样做效率还行,但是如果集合内是引用类型,使用LINQ就方便的多,例如一个程序要计算课程的总分和平均分,实体分别是Student和StudentScore 类的申明如下: /// <summary> /// 学生实体 /// </summary>

EF框架下 Linq语句多表联查排序实例

一些原因需要用到linq的多表联查,网上查了下资料,顺便整理了一下,包括了模糊查询,分页,排序字段. 话不多说,直接上代码 public List<ExamineUserEntity> GetUserExamineList(string username, string phone, int pageindex, int pagesize) { var query = (from exam in db.T_USEREXAMINE join user in db.T_EXAMINE_USER o

EF Lambda 多表查询

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc; namespace MvcForLamadaToTableJion.Controllers{ public class HomeController : Controller { public ActionResult Index() { LamadaJoinEvent(); return V

Mysql数据库理论基础之五--SELECT单多表查询、子查询、别名

一.简介 由MySQL AB公司开发,是最流行的开放源码SQL数据库管理系统,主要特点: 1.是一种数据库管理系统 2.是一种关联数据库管理系统 3.是一种开放源码软件,且有大量可用的共享MySQL软件 4.MySQL数据库服务器具有快速.可靠和易于使用的特点 5.MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中 InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建.这样,表的大小就能超过单独文件的最大容量.表空间可包括原始磁盘分区,从而使得很大的表成为可能

web day16 数据库 完整性约束,mySQL编码问题,备份与恢复,多表查询

约束 * 约束是添加在列上的,用来约束列的! 1. 主键约束(唯一标识) ****非空*** ****唯一*** ****被引用**** * 当表的某一列被指定为主键后,该列就不能为空,不能有重复值出现. * 创建表时指定主键的两种方式: > CREATE TABLE stu( sid      CHAR(6) PRIMARY KEY, sname     VARCHAR(20), age         INT, gender     VARCHAR(10) ); 指定sid列为主键列,即为s

python3 mysql 多表查询

python3 mysql 多表查询 一.准备表 创建二张表: company.employee company.department #建表 create table department( id int, name varchar(20) ); create table employee( id int primary key auto_increment, name varchar(20), sex enum('male','female') not null default 'male'