var q_uvu = db.d_events .AsNoTracking() .Where(x => x.event_type.ToLower() == "app_verify" && //x.event_type == "APP_VERIFY" && x.date_apt_exe == null) .Select(s => new { s.id_person, idApt = (string.IsNullOrEmpty(s.id_event) ? "" : "!") }).Distinct(); DateTime datetmp = DateTime.Now.AddDays(-270); var qry = (from p in db.d_person from q in q_uvu.Where(w => p.id_person == w.id_person).DefaultIfEmpty() from e in db.d_events.Where(w => w.domain == "PREGNANCY" && w.id_person == p.id_person) where e.date_start < datetmp && p.date_stopped == null && e.event_status == null select new { p.id_person, q.idApt, p.id_dream, p.pe_surname, p.pe_name, p.pe_sex, p.pe_dob, e.ev_vd1, p.pe_note }).AsEnumerable().Select(s => new { s.id_person, s.idApt, s.id_dream, s.pe_surname, s.pe_name, s.pe_sex, _data = (s.pe_dob.HasValue) ? s.pe_dob.Value.ToShortDateString() : "", _dataPsp = (s.ev_vd1.HasValue) ? s.ev_vd1.Value.ToShortDateString() : "", s.pe_note }); dt = qry.ToDataTable(); dt.TableName = "lst_data";