LoginSignup
1
2

More than 5 years have passed since last update.

SQLみたいにjoinしたテーブルのColumnを使うようにlinqのSelectManyでも同じようにしたい

Last updated at Posted at 2017-08-08

SelectMany parent class add coulmun list.
なんやかんやでこうしたいことあるじゃないですか。


select 
    s.LastName,
    e.CourseID 
from Student s
left outer join Enrollment e on
s.ID = e.StudentID

using System;
using System.Collections.Generic;

namespace ContosoUniversity.Models
{
    public class Student
    {
        public int ID { get; set; }
        public string LastName { get; set; }
        public string FirstMidName { get; set; }
        public DateTime EnrollmentDate { get; set; }

        public ICollection<Enrollment> Enrollments { get; set; }
    }
}

namespace ContosoUniversity.Models
{
    public enum Grade
    {
        A, B, C, D, F
    }

    public class Enrollment
    {
        public int EnrollmentID { get; set; }
        public int CourseID { get; set; }
        public int StudentID { get; set; }
        public Grade? Grade { get; set; }

        public Course Course { get; set; }
        public Student Student { get; set; }
    }
}

こうできる


Student.SelectMany(s => 
    s.Enrollment.Select(e => 
        new {s.LastName, e.CourseID }));

1
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2