GroupJoin的问题

问题描述

vardb=newBigDataEntities();varg=db.Tab1.GroupJoin(db.Tab1,a=>a.id,b=>b.id,(a,b)=>new{a,b}).GroupJoin(db.Tab1,c=>c.a.id,d=>d.id,(c,d)=>new{c,d}).Select(t=>t.c.b.id);//这里如果用t.c.a.id就没有错误,用b.id就找不到id了,什么原因,怎么解决呢。但是用join是可以的。谢绝linq。

解决方案

解决方案二:
GroupJoin就是Linq语法啊,不知道你想问什么

时间: 2024-09-15 09:34:00

GroupJoin的问题的相关文章

学用 ASP.Net 之 System.Array 类

成员: /* 静态方法 */ Array.AsReadOnly() //包装为只读(ReadOnlyCollection) Array.BinarySearch() //使用二分查找法查找, 须先排序 Array.Clear() // Array.ConstrainedCopy() //约束复制 Array.ConvertAll() // Array.Copy() // Array.CreateInstance() //建立并初始化 Array.Equals() // Array.Exists(

ADO.NET Entity Framework(4)ObjectQuery

目录 1 ObjectQuery<T>数据加载方式 1 1.1 访问方式 1 1.2 Context.CreateQuery<T>() 1 1.3 ObjectQuery<DbDataRecord> 2 1.4 ObjectQuery<简单类型> 3 2 Execute方法与ObjectResult 3 2.1 Execute方法 3 2.2 ObjectResult<T> 结果集 4 3 类型转换 4 3.1 OfType(TResultTyp

LINQ to SQL语句(4)之Join

Join操作符 适用场景:在我们表关系中有一对一关系,一对多关系, 多对多关系等.对各个表之间的关系,就用这些实现对多个表的操作. 说明:在Join操作中,分别为Join(Join查询), SelectMany(Select一对多选择) 和GroupJoin(分组Join查询). 该扩展方法对两个序列中键匹配的元素进 行inner join操作 SelectMany 说明:我们在写查询语句时,如果 被翻译成SelectMany需要满足2个条件.1:查询语句中没有join和into,2:必 须出现

走进Linq-Linq to Objects(上)基础篇

话说自从编程大师走了后年轻的Coder很是郁闷了一会儿,他在想,为什么,我还以为是一个伟大的工程,我正准备把我写的代码作为一个opensouce project 分享出去,微软却干了.哎,还是要被微软牵着鼻子走一遭了. 在上一章里介绍了,Linq里那些查询操作都是给IEnumerable接口添加的扩展方法(这些方法在Linq里被称为查询操作符),那么就可以以方法调用的方式使用Linq了: books.Where(book=>book.Title.StartsWith("L")).

LINQ体验(6)——LINQ to SQL语句之Join和Order By

Join操作 适用场景:在我们表关系中有一对一关系,一对多关系,多对多 关系等.对各个表之间的关系,就用这些实现对多个表的操作. 说明: 在Join操作中,分别为Join(Join查询), SelectMany(Select一对多选择)和 GroupJoin(分组Join查询). 该扩展方法对两个序列中键匹配的元素进行 inner join操作 SelectMany 说明:我们在写查询语句时,如果被翻译 成SelectMany需要满足2个条件.1:查询语句中没有join和into,2:必须出现

C# 3.0入门系列(十)-之Join操作

本节讲join操作.我们知道,T-sql中,有三种最基本的join,inner join, left join, 和right join. 而dlinq并不支持right join.道理很简单,right join以right表为基础,left表中没有对应记录的,将以null值填充.而dlinq以left表做为主表创建对象.如果一个对象为null,你如何获取它的其他的属性呢? 在C# 3.0入门系列(四)-之Select操作一文中,我们提到了query expression首先会被翻译成标准的A

VS 2008 sp1 + .NET 3.5 sp1(3)

Entity Framework(实体框架)之详解 Linq To Entities 之二 介绍 以Northwind为示例数据库,ADO.NET Entity Framework之Linq To Entities Select - 选择需要返回的字段 Where - 筛选 OrderBy - 正序排序 OrderByDescending - 倒序排序 ThenBy - 在 OrderBy 或 OrderByDescending 的基础上再正序排序 ThenByDescending - 在 Or

[CLR via C#]26. 计算限制的异步操作

原文:[CLR via C#]26. 计算限制的异步操作 一.CLR线程池基础     前面说过,创建和销毁线程是一个比较昂贵的操作,太多的线程也会浪费内存资源.由于操作系统必须调度可运行的线程并执行上下文切换,所以太多的线程还有损于性能.为了改善这个情况,CLR使用了代码来管理它自己的线程池.可将线程池想像成可由你的应用程序使用的一个线程集合.每个进程都有一个线程池,它在各个应用程序域(AppDomain)是共享的.     CLR初始化时,线程池是没有线程的.在内部,线程池维护了一个操作请求

[转]linq查询运算符大全

·Select - Select选择:延迟 ·Where - Where查询:延迟 ·OrderBy - 按指定表达式对集合正序排序:延迟 ·OrderByDescending - 按指定表达式对集合倒序排序:延迟 ·GroupBy - 分组:延迟 ·Join - Join查询:延迟 ·GroupJoin - 分组Join查询:延迟 ·Distinct - 过滤集合中的相同项:延迟 ·Union - 连接不同集合,自动过滤相同项:延迟 ·Concat - 连接不同集合,不会自动过滤相同项:延迟