Code |
var _ex = db.d_events_att
.AsNoTracking()
.Where(w => w.domain == "A_EXAMS_VLOAD" && w.vn2.HasValue)
.Select(s => new
{
data = s.d_event.date_apt_exe,
s.id_person,
s.vn2
}).AsEnumerable()
.Where(w => w.data.HasValue)
.GroupBy(g => g.id_person)
.Select(s => new
{
id_person = s.Key,
dati = s.MaxBy(x => x.data)
}).ToList();
//other method but slower
var _ex= db.d_events.Join(db.d_events_att.AsNoTracking(),
ev => ev.id_event,
att => att.id_event,
(ev, att) => new { ev, att })
.Where(w => w.att.domain == "A_EXAMS_VLOAD" && w.ev.date_apt_exe != null && w.att.vn2 != null)
.ToList()
.GroupBy(p => p.ev.id_person)
.Select(s => new
{
id_person = s.Key,
dati = s.MaxBy(p => p.ev.date_apt_exe)
}).ToList();
|