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" }
  • 相关阅读:
    python大战机器学习——聚类和EM算法
    python大战机器学习——数据降维
    机器学习(西瓜书)——绪论
    算法设计与分析-HomeWork
    SocLib的安装
    CSS的IE6、IE7、FF兼容性写法
    CSS content内容生成技术以及应用
    js javascript:void(0) 真正含义
    Google Chrome七大新特性
    CSS中文字体对照表
  • 原文地址:https://www.cnblogs.com/HansZimmer/p/13701222.html
Copyright © 2011-2022 走看看