c # linq объединить несколько таблиц с порядком на основе первого идентификатора таблицы с группой по - PullRequest
0 голосов
/ 30 ноября 2018

я хочу сделать заказ на основе первой таблицы в левом соединении c # linq

у меня 3 таблицы TDoctorAppointments TDoctors TDoctor_Clinic

левое соединение в TDoctorAppointments с группой по первому из TDoctorAppointment_TDoctorID_DID

до сих пор я получал этот запрос успешно, но порядок TDoctorAppointment_TDoctorID_DID не поддерживается.

я хочу заказать результат в TDoctorAppointment_TDoctorID_DID

Вот мой код

var list2 = (from d in db.TDoctorAppointments
                             orderby d.TDoctorAppointment_TDoctorID_DID
                             join dcs in db.TDoctors on d.TDoctorAppointment_TDoctorID_DID equals dcs.TDoctor_DID
                             into dcs1
                             from dcs2 in dcs1.DefaultIfEmpty()
                             join doc1 in db.TDoctor_Clinic on d.TDoctorAppointment_TDoctorID_DID equals doc1.TDoctor_Clinic_DID
                             into doc2
                             from doc3 in doc2.DefaultIfEmpty()
                             where d.TDoctorAppointment_Tpatient_PID == patData
                             select new
                             {
                                 DID = d.TDoctorAppointment_TDoctorID_DID,
                                 Name = dcs2.TDoctor_FirstName,
                                 Latitude = doc3.TDoctor_Clinic_Latitude,
                                 Longitude = doc3.TDoctor_Clinic_Longitude
                             }).ToList();
var firs1 = list2.GroupBy(g => g.DID).Select(s => s.First());

(Кодовый формат плох, я знаю: p)

Спасибо:)

...