求一个linq的写法(join)
public class Student
{
public String ID { get; set; }
public String StuName { get; set; }
}
public class Grade
{
public String ID { get; set; }
public String GrideName { get; set; }
}
//测试数据
List<Student> tempStuList = new List<Student>() {
new Student(){ ID="001001", StuName="a"},
new Student(){ ID="002001", StuName="b"},
new Student(){ ID="002001", StuName="c"},
new Student(){ ID="003001", StuName="d"},
new Student(){ ID="001001", StuName="e"},
};
List<Grade> tempGradeList = new List<Grade>() {
new Grade(){ ID="001", GrideName = "g1"},
new Grade(){ ID="002", GrideName = "g2"},
new Grade(){ ID="003", GrideName = "g3"},
};
说明一下:这里仅仅是讨论语法如何写,而不是讨论设计合理与否.这里只是举个例子
Stu.ID的前3位是年级ID,所以可以用下面的代码获取学生表与年级表的关联.这是一个很庆幸的例子.但是如果grade.ID是不定长的情况就无能为力了(不要管需求和实现是否合理,我只是寻求linq的语法).
我的问题是在做join的时候,linq能否写成 stu.ID.IndexOf(grade.ID) ==0类似的写法
var a = from stu in tempStuList
join grade in tempGradeList
on stu.ID.Substring(0, 3) equals grade.ID
into tempGradeTable
from tempItem in tempGradeTable
select new { StuID = stu.ID, StuName = stu.StuName, GradeName = tempItem == null ? "" : tempItem.GrideName };
...全文
相关推荐
Linq to datable(Left join right join full join)实例
标题 "Linq to datable(Left join right join full join)实例" 涉及到的是在.NET框架中,使用LINQ(Language Integrated Query
C#中LINQ多条件JOIN时为什么可以使用匿名类
"C#中使用LINQ进行多条件JOIN时,可以借助匿名类来实现。在查询中,通过创建匿名类实例并利用equals方法比较,能够有效地组合多个JOIN条件。"在C#的LINQ查询中,JOIN操作是用于
LINQ to SQL语句之Join和Order By
LINQ to SQL是一种强大的查询语言,它在.NET框架中用于在关系数据库中执行复杂的查询操作。本文主要聚焦于两个关键操作:Join和Order By,以及它们在处理不同关系类型(一对一、一对多和
Linq之Join操作实例
本文通过Entity Framework实现LINQ的左连接、右连接和内连接操作,利用MyTestDBEntities上下文访问tb_Class与tb_Student表,查询并输出班级与学生关联数据。
LINQ体验(6)——LINQtoSQL语句之Join和OrderBy[参照].pdf
在关系型数据库中,Join广泛应用于处理一对一、一对多、多对多的关系。在LINQ中,Join有三种主要形式:1.


LINQ
