[英]How to turn this SQL query into a Entity Framework lambda expression?
How to make this query with lambda expression in Entity Framework?如何在实体框架中使用 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()
I made a model based on classes to show results我根据类制作了 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.