How to make this query with lambda expression in Entity Framework?
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
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; }
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.