Vorrei iniziare, non sono sicuro che sia possibile. Sto imparando i farmaci generici e ho diversi repository nella mia app. Sto cercando di creare un'interfaccia che accetta un tipo generico e lo converte in qualcosa che tutti i repository possono ereditare da. Ora alla mia domanda.Tentativo di utilizzare un generico con Entity Framework
public interface IRepository<T>
{
IEnumerable<T> FindAll();
IEnumerable<T> FindById(int id);
IEnumerable<T> FindBy<A>(A type);
}
È possibile utilizzare un generico per determinare cosa trovare da?
public IEnumerable<SomeClass> FindBy<A>(A type)
{
return _context.Set<SomeClass>().Where(x => x. == type); // I was hoping to do x.type and it would use the same variable to search.
}
Per chiarire un po 'meglio stavo considerando di essere una stringa, INT o qualsiasi tipo ho voluto cercare. Quello che sto sperando per è quello che posso dire x.something dove la cosa è uguale alla variabile passata in.
posso impostare qualsiasi repository alla mia DbContext utilizzando i
public IDbSet<TEntity> Set<TEntity>() where TEntity : class
{
return base.Set<TEntity>();
}
qualche suggerimento?
Se A è derivato da SomeClass quindi è possibile utilizzare OfType () – stevenrcfox
Cercavi trovare tutte le entità di tipo A con findBy ? –
@BehnamEsmaili No Stavo pensando che avrei passato il tipo che voglio cercare per: string, int, DateTime ecc. E poi lo prenderei e cercherò il database per il tipo passato – Robert