Buongiorno ho una classe così definita
public class Materiale
{
public string IdMateriale { get; set; }
public string GenereMateriale { get; set; }
public string Categoria { get; set; }
public string Modello { get; set; }
public string Tipo { get; set; }
public string NumSerie { get; set; }
public int Anno { get; set; }
public string DittaCostruttrice { get; set; }
public string Note { get; set; }
public List<Controllo> Controlli = new List<Controllo>();
public List<MezzoAssegnato> MezziAssegnati = new List<MezzoAssegnato>();
public List<SedeAssegnata> SediAssegnate = new List<SedeAssegnata>();
}
public class Controllo
{
public string IdControllo { get; set; }
public DateTime DataControllo { get; set; }
public string IdMateriale { get; set; }
public string Utente { get; set; }
public string Stato { get; set; }
public string Note { get; set; }
}
public class MezzoAssegnato
{
public string IdAssegnazione { get; set; }
public string IdMateriale { get; set; }
public string Targa { get; set; }
public DateTime AssegnatoDal { get; set; }
public DateTime AssegnatoAl { get; set; }
}
public class SedeAssegnata
{
public string IdAssegnazione { get; set; }
public string IdMateriale { get; set; }
public string IdSede { get; set; }
public string Comando { get; set; }
public DateTime AssegnatoDal { get; set; }
public DateTime AssegnatoAl { get; set; }
}
volendo eseguire una query su una lista di tipo "Materiale"
List<Materiale> m = new List<Materiale>();
filtrando le proprietà "Controlli", "MezziAssegnati" e "SediAssegnate" in modo che mi venga restituito l'oggetto con il controllo più recente, l'assegnazione di mezzo più recente e l'assegnazione di sede più recente; ho provato in questo modo.
List<Materiale> m2 = (from ma in m
from c in ma.Controlli
where c.DataControllo == Max(c.DataControllo)
from sa in ma.SediAssegnate
where sa.AssegnatoAl == Max(sa.AssegnatoAl)
from mas in ma.MezziAssegnati
where mas.AssegnatoAl == Max(mas.AssegnatoAl)
select new
{
ma, c.Stato, sa.Comando, sa.IdSede, mas.Targa
}).ToList();
Però mi da errore già sul primo Max (Max non esiste nel contesto corrente)
Qualcuno può aiutarmi?
Modificato da pigeonit il 06 ottobre 2015 15.09 -