code View

id 17
Title Last exam Value and date group by id_person
Type snippet
Highlight group
Description Last exam Value and date group by id_person (last CViral Value and date in the example)
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();

 

Ordine 50