C# Linq Join 多表查詢


注:閑來無事  來篇博客

1. 三張表

class Teacher 
{
     public int ID { set; get; }
    public int SchoolNum { set; get; }
     public string TeacherName { set; get; }
     public string TeacherAge { set; get; }
}
class School
{
    public int SchoolNum{ set; get; }
    public string SchoolName { set; get; }
}
class Student
{
    public int ID{ set; get; }
    public int SchoolNum{ set; get; }
    public string StudentName { set; get; }
    public string StudentAge { set; get; }
}

 

2.輸出 School 表中對應人員 Teacher 和 Student 的信息,包括  城市姓名、人員姓名、人員年齡

3.代碼

var schoolModel = db.school.ToList();

var teacherModel = db.teacher.ToList();
var result1 = schoolModel.Join(teacherModel, p => p.CityNum, c => c.CityNum, (p, c) => new { CityName = p.CityName, PeopleName = c.TeacherName, PeopleAge = c.TeacherAge }).ToList();

var studentModel = db.student.ToList();
var result2 = schoolModel.Join(studentModel, p => p.CityNum, c => c.CityNum, (p, c) => new { CityName = p.CityName, PeopleName = c.StudentName, PeopleAge = c.StudentAge }).ToList();

result1.AddRange(result2); 
 

4.輸出

{ CityName = A學校, PeopleName = "學生A", PeopleAge = "學生A" }
{ CityName = A學校, PeopleName = "教師A", PeopleAge = "教師A" }
{ CityName = B學校, PeopleName = "學生B", PeopleAge = "學生B" }
{ CityName = C學校, PeopleName = "學生C", PeopleAge = "學生C" }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM