Linq联接

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Linq联接

{

class Program

{

public class Student

{

public int stID;

public string LastName;

}

public class CourseStudent

{

public string CourseName;

public int stID;

}

static Student[] students = new Student[] {

new Student { stID = 1, LastName = "Carson" } ,

new Student { stID = 2, LastName = "Jack" },

new Student { stID = 3, LastName = "Tom" }

};

static CourseStudent[] courseStudents = new CourseStudent[]{

new CourseStudent{CourseName="asd",stID=1},

new CourseStudent{CourseName="asd",stID=2},

new CourseStudent{CourseName="sfh",stID=1},

new CourseStudent{CourseName="dgfsd",stID=2},

new CourseStudent{CourseName="dgfsd",stID=3},

};

static void Main(string[] args)

{

var query = from s in students          //s和c是迭代器

join c in courseStudents

on s.stID equals c.stID

where c.CourseName == "asd"

select s.LastName;

foreach (var q in query)

Console.WriteLine("Student Taking asd :{0}",q);

Console.ReadKey();

}

}

}

时间: 2024-10-11 22:57:07

Linq联接的相关文章

转载:《.NET 编程结构》专题汇总(C#)

<.NET 编程结构>专题汇总(C#) - M守护神 - 博客园http://www.cnblogs.com/liusuqi/p/3213597.html 前言 掌握一门技术,首要的是掌握其基础. 笔者从事.NET相关开发多年,也非常喜欢.NET,多年来也积累了很多相关的资料,在此将一些基础性的知识整理成专题,分享之. 导航 基础编程结构 数据类型概述 数据类型之字符串(String) 数据类型之类(Class) 数据类型之指针类型(type*) 数据类型之动态类型(Dynamic) 数据类型

LINQ系列:联接操作符

联接是指将一个数据源对象与另一个数据源对象进行关联或联合的操作.这两个数据源对象通过一个共同的值或属性进行关联. LINQ的联接操作符将包含可匹配(或相同)关键字的两个或多个数据源中的值进行匹配. LINQ有两个联接操作符:join和groupjoin. 1. join join操作符类似于T-SQL中的inner join,将一个数据源与另一个数据源相联接,根据两个数据源中相等的值进行匹配. 1>. 原型定义 public static IEnumerable<TResult> Joi

深入剖析linq的联接

内联接 from a in new List<string[]>{ new string[2]{"张三","男"}, new string[2]{"李四","女"}, new string[2]{"王五","男"} } join b in new List<string[]>{ new string[3]{"张三","英语"

linq to entity 左联接 右连接 以及内连接写法的区别(转)

linq to entity 左连接 右连接 以及内连接写法的区别  还有就是用lambda表达式怎么写,那个效法效率高些? [解决办法]左连右连还是内连这个其实你不需要关心.只需要根据实体的映射关系写查询,框架会自动帮你生成的.至于linq查询语法与扩展方法的效率,应该是一样的,比如: C# code var users=(from u in db.Users where u.UserRoleId==1 select u) .ToList(); var users2=db.Users.Wher

linq左联接

from t in _entity.TB_OrderInfo                                 where t.OrderCode == courOrderCode || t.CounierCode == courOrderCode && t.IsDel == "N"                                 join b in _entity.TB_CustomerInfo on t.CustomerCode equ

C# LinQ 左联接加分组聚合查询

真是醉了,前段时间摸索半天今天一写又忘了,特此写下来备忘,望大婶指点 from a in Table1 join b in Table2 on a.Id equals b.Id2 into e from f in e.DefaultIfEmpty() group new { a.Id1, a.Name, f.id2 } by new { a.Id,//一表的ID a.Name,//一表的字段(Name) f.id2//二表的字段(type) } into c select new Sontype

C# LINQ 详解 From Where Select Group Into OrderBy Let Join

目录 1. 概述 2. from子句 3. where子句 4. select子句 5. group子句 6. into子句 7. 排序子句 8. let子句 9. join子句 10. 小结 1. 概述 LINQ的全称是Language Integrated Query,中文译成"语言集成查询".LINQ作为一种查询技术,首先要解决数据源的封装,大致使用了三大组件来实现这个封装,分别是LINQ to Object.LINQ to ADO.NET.LINQ to XML.它们和.NET

LINQ To SQL 语法及实例大全

LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句. Where操作包括3种形式,分别为简单形式.关系条件形式.First()形式.下面分别用实例举例下: 1.简单形式: 例如:使用where筛选在伦敦的客户 var q = from c in db.Customers where c.City == "London" select c

LinQ To DataSet

LINQ to DataSet 是LINQ to ADO.NET 的一个独立技术.使用LINQ to DataSet能够更 快更容易的查询DataSet对象中的数据. LINQ to DataSet 功能主要通过DataRowExtensions和DataTableExtensions静态类 中的扩展方法来实现.LINQ to DataSet 不但能够对DataSet 对象中的单个表进行查询,而且还能够通过联接操作对DataSet对象中的多个表进行查询. DataTableExtensions类