Spesso vedo segni di esempio repository che assomigliano a questo:Repository modello - troppi metodi
public interface IRepository<T>
{
T GetById(int id);
IEnumerable<T> GetAllByName(string name);
}
Ma come si fa a gestire i casi in cui può essere necessario fare una ricerca complessa? Non credo che sarebbe una buona idea aggiungere molti metodi per l'interfaccia che lo renderebbero finiscono per assomigliare:
IEnumerable<T> GetAllByFirstName(string name);
IEnumerable<T> GetAllByLastName(string name);
IEnumerable<T> GetAllByFirstAndLastName(string name);
IEnumerable<T> GetAllByAddress(string name);
...
...
...
Cosa se non posso usare le espressioni? Ad esempio, se devo utilizzare stored procedure dietro il repository? – Books
@Ashley Vedere la risposta modificata – Eranga
Queste funzionalità sono state incorporate in linq poiché questa risposta è stata pubblicata? –