• 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" }
  • 相关阅读:
    Liunx学习总结(三)--用户和用户组管理
    Liunx学习总结(二)--目录和文件管理
    Markdown表格宽度调整
    Liunx学习总结(一)--初识 Liunx
    好看的404页面
    qt打印输出到控制台
    平台 DllRegisterServer调用失败
    linux下编译安装SDL2和ffmpeg
    ffmpeg函数05__vcodec_decode_video2()
    ffmpeg函数04__v_register_output_format()
  • 原文地址:https://www.cnblogs.com/HansZimmer/p/13701222.html
Copyright © 2020-2023  润新知