Hej!
Jeśli mam metodę
private IQueryable<Termin> LQPodajWszystkieTerminy() // zwraca wszystkie terminy
{
var terminy = from t in _db.Termin
select t;
return terminy;
}
oraz:
private IQueryable<Termin> LQPodajTylkoDostepneTerminy(IQueryable<Termin> termin) // zwraca terminy > 1
{
return termin.Where(x => x.idTerminu > 1);
}
oraz
private IQueryable<Termin> LQSotruj(IQueryable<Termin> termin) // sortuje
{
return termin.OrderBy(x => x.data);
}
Oraz trzecią metodę złączającą powyższe 3
public Termin[] PodajWszystkieDostepneTerminy()
{
var terminy = LQPodajWszystkieTerminy();
terminy = LQPodajTylkoDostepneTerminy(terminy); // tylko dostępne
terminy = LQSotruj(terminy); // sortuję
Termin[] r = terminy.ToArray<Termin>();
return r;
}
To zapytanie do bazy nastąpi tylko raz? Dokładnie w: terminy.ToArray<Termin>();
?
Czy jest to poprawny sposób na "rozbijanie" na metody i "zawężanie" zapytań w LinQ ?
pozdrawiam