zoukankan      html  css  js  c++  java
  • 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" }
  • 相关阅读:
    [LeetCode] 374. Guess Number Higher or Lower
    [LeetCode] 35. Search Insert Position
    [LeetCode] 205. Isomorphic Strings
    [LeetCode] 87. Scramble String
    [LeetCode] 274. H-Index
    [LeetCode] 507. Perfect Number
    [LeetCode] 88. Merge Sorted Array
    [LeetCode] 283. Move Zeroes
    [LeetCode] 287. Find the Duplicate Number
    [LeetCode] 204. Count Primes
  • 原文地址:https://www.cnblogs.com/HansZimmer/p/13701222.html
Copyright © 2011-2022 走看看