簡體   English   中英

如何將此 SQL 查詢轉換為實體框架 lambda 表達式?

[英]How to turn this SQL query into a Entity Framework lambda expression?

如何在實體框架中使用 lambda 表達式進行此查詢?

select 
    s.StudentID, s.StudentName, s.StudentSurName, s.Point 
from 
    Student s
join 
    StudentContest sc on s.StudentID = sc.StudentId
join 
    Contest c on c.ContextID = sc.ContestId 
where 
    c.ContextDate < GETDATE()

我根據類制作了 model 以顯示結果

   class Program
    {
        static void Main(string[] args)
        {
            DateTime date = DateTime.Now;
            DataBase db = new DataBase();

            var results = (from s in db.Student
                           join sc in db.StudentContest on s.StudentID equals sc.StudentId
                           join c in db.Contest.Where(x => x.ContextDate < date) on sc.ContextID equals c.ContestId
                           select new { StudentID = s.StudentID, StudentName = s.StudentName, StudentSurName = s.StudentSurName, Point = s.Point }
                           ).ToList();
        }
    }
    public class DataBase
    {
        public List<StudentContest> StudentContest { get; set; }
        public List<Student> Student { get; set; }
        public List<Contest> Contest { get; set; }
    }
    public class StudentContest
    {
        public string StudentId { get; set;}
        public string ContextID { get; set;}
    }
    public class Student
    {
        public string StudentID { get; set;}
        public string StudentName { get; set;}
        public string StudentSurName { get; set;}
        public string Point { get; set;}
    }
    public class Contest
    {
        public string ContestId { get; set;}
        public DateTime ContextDate { get; set; }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM