Я набрал этот запрос linq для контекста моего домена, но почему он не смог получить данные идентификатора студента, совпадающего с таблицей, в tblaptmt?
public IQueryable<StudentViewAppointment> StudentViewAppointments(string StuId)
{
//IQueryable<StudentViewAppointment> studentViewAppointments =
//from aptmt in this.ObjectContext.tblaptmts join ch in
//aptmt.consultationID equals ch.consultationID where aptmt.studentID == StuId
//select aptmt;
//return studentViewAppointments as IQueryable<StudentViewAppointment>;
return ObjectContext.tblaptmts.Where(a => a.studentID == StuId).Join
(ObjectContext.tblConsultationHours, a => a.consultationID,
ch => ch.consultationID, (a, ch) =>
new StudentViewAppointment()
{
AppointmentId = a.aptmtID,
Apremark = a.apremark,
APstatus = a.apstatus,
APsubject = a.apsubject,
ConsultationId = a.consultationID,
Day = ch.cday,
StartTime = (DateTime)ch.cstartTime,
EndTime = (DateTime)ch.cendTime,
LectureId = ch.lecturerID,
StudentId = a.studentID
});
}
Класс обслуживания домена.cs
public partial class StudentViewAppointment
{
[Key]
public int AppointmentId { get; set; }
public string Apremark { get; set; }
public string APsubject { get; set; }
public string APstatus { get; set; }
public int ConsultationId { get; set; }
public string StudentId { get; set; }
public string Venue { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public string LectureId { get; set; }
public string Day { set; get; }
}
Класс обслуживания домена Metadata.cs
dgSlot.ItemsSource = context.StudentViewAppointments;
context.Load(context.StudentViewAppointmentsQuery("TP123123"));
Datagrid.xaml.cs