LINQ多表查询
#region Group,Join
//只有join,没有into,内联(inner join)
//var sql = from c in sdb.Classic
// join s in sdb.StuInfo
// on c.classID equals s.classID //注意不能用==
// select new // { // c.className, // s.stuName // };
//Console.WriteLine(sql);
//var sql = from s in sdb.StuInfo
// join m in sdb.StuMarks
// on s.stuNo equals m.stuNo
// into temp
//many端重新命名
// from t in temp.DefaultIfEmpty() //左连接,DefaultIfEmpty再次遍历右边,缺考人员的成绩默认为null
// select new
// { // s.stuName, // we = t.writtenExam == null ? 0 : t.writtenExam, // le = t.LabExam == null ? 0 : t.LabExam // };
//Console.WriteLine(sql);
//foreach (var item in sql)
//{ // Console.WriteLine("{0}\t{1}\t{2}",item.stuName,item.we,item.le); //}
//三向联接
//var sql = from c in sdb.Classic
// join s in sdb.StuInfo
// on c.classID equals s.classID
// join m in sdb.StuMarks
// on s.stuNo equals m.stuNo
// select new
// { // c.className,
// s.stuName,
// we = m.writtenExam == null ? 0 : m.writtenExam,
// m.LabExam // };
//Console.WriteLine(sql);
//foreach (var item in sql)
//{
// Console.WriteLine("{0}\t{1}\t{2}\t{3}", item.className, item.stuName, item.we, item.LabExam);
//}
//双向连接 var sql = from c in sdb.Classic join s in sdb.StuInfo on c.classID equals s.classID into stu select new { className = c.className, list=stu.ToList<StuInfo>(), count = stu.Count() }; Console.WriteLine(sql); foreach (var item in sql) { Console.WriteLine("班级:{0},人数:{1}",item.className,item.count); foreach (var s in item.list) { Console.WriteLine(s.stuName); } }
#endregion
LINQ多表查询的更多相关文章
- 探讨mvc下linq多表查询使用viewModel的问题
最近在开发mvc3的时候发现了一个问题,就是如何在view页面显示多表查询的数据,最简单的办法就是使用viewmodel了,以下本人使用viewmodel来实现多表查询的3中方法, 先贴代码再说: 1 ...
- LINQ 联表查询 取count 值
linq to sql 实现左外部连接:var query=from a in A join b in B on a.ID equals b.aID into ab from a1 in ab.Def ...
- ef linq多表查询(三表)
var ph = (from c in reef.CQICC_CLIENT join v in reef.CQICC_VISIT_CLIENT on c.CLIENT_T_ID equals v.CL ...
- Entity Framework Code First 在Object Join Linq查询时出现全表查询的语句。
最近一个项目,使用微软的Entity Framework的ORM框架的项目,部署到现场后,出现了系统缓慢,多个客户端的内存溢出崩溃的问题. 打开了SQL Server Profiler(SQL Ser ...
- EF中使用linq进行关联查询
EF使用linq进行多表查询是完全可以的,最后ToList()调用的时候回产生一条分页的sql语句,所以并不是全部查询再分页的.所以不会影响查询的性能 public void TestLinq() { ...
- sql 、linq、lambda 查询语句的区别
LINQ的书写格式如下: from 临时变量 in 集合对象或数据库对象 where 条件表达式 [order by条件] select 临时变量中被查询的值 [group by 条件] Lambda ...
- LINQ to Entities 查询语法
转自: http://www.cnblogs.com/asingna/archive/2013/01/28/2879595.html 实体框架(Entity Framework )是 ADO.NET ...
- 浅谈sql 、linq、lambda 查询语句的区别
浅谈sql .linq.lambda 查询语句的区别 LINQ的书写格式如下: from 临时变量 in 集合对象或数据库对象 where 条件表达式 [order by条件] select 临时变量 ...
- EF Lambda 多表查询
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mv ...
随机推荐
- .NETCore微服务探寻(一) - 网关
前言 一直以来对于.NETCore微服务相关的技术栈都处于一个浅尝辄止的了解阶段,在现实工作中也对于微服务也一直没有使用的业务环境,所以一直也没有整合过一个完整的基于.NETCore技术栈的微服务项目 ...
- pycharm 配置 git 方法
1.打开pycharm ,点击 file——Default-setting——version control 2.配置github账号密码 3.Path to Git executable中填写git ...
- 图解MySQL索引(三)—如何正确使用索引?
MySQL使用了B+Tree作为底层数据结构,能够实现快速高效的数据查询功能.工作中可怕的是没有建立索引,比这更可怕的是建好了索引又没有使用到.本文将围绕着如何优雅的使用索引,图文并茂地和大家一起探讨 ...
- [CentOS 7]挂载ntfs格式U盘
在我们将U盘插入装有CentOS的系统时,经常会出现如图所示的错误提示.这是因为linux系统并不能兼容NTFS的文件系统.其解决方法如下(建议先进入root模式): 1.首先下载"ntfs ...
- mybatis读写分离
mybatis读写分离实现方式有很多种,当然如果没有太过复杂的处理,可以使用阿里云数据库自带的读写分离连接,那样会更加简洁.本文主要对mybatis实现读写分离.主要的实现方式有一下四种: 方案1 通 ...
- IWAB0398E Error in generating WSDL from Java: java.lang.ClassNotFoundException
今天想用Eclipse创建WebService,报错信息 IWAB0398E Error in generating WSDL from Java: java.lang.ClassNotFoundEx ...
- java面试基础必备
一.Java基础 1. String类为什么是final的. 2. HashMap的源码,实现原理,底层结构. 3. 说说你知道的几个Java集合类:list.set.queue.map实现类咯... ...
- leetcode 6 z字型变换
执行用时 :64 ms, 在所有 Python3 提交中击败了99.74%的用户由题目可知 我们的最终字符串会被摆成 numRows 行,那我们理解为 最终结果是numRows个字符串相加 先建立等于 ...
- MongoDB入门三
MongoDB字段问题 增删查改操作 删除一列操作db.RiderReaTimePositon.update({},{$unset:{'CreateTime':''}},false,true)db. ...
- jquery入门(3)
4.jQuery中的事件绑定 4.1.事件绑定 on方法绑定 $('#box').on('click',function(){ alert(1); }) 直接绑定 $("#box" ...