Sto usando Entity Framework per leggere / scrivere dati nel DB e chiedermi se esiste un modo per ottenere le entità per tipo. Ad esempio: ho tabella Student
e tabella Classroom
(in realtà, ho un sacco di tabelle). Mi piacerebbe avere tutti gli studenti usando il tipo o il nome dell'entità. Fondamentalmente ho bisogno di qualcosa di generico per leggere i dati dal DB.
La soluzione che ho è di usare reflection per leggere le proprietà di DbContext
che restituisce IQueryable
, ma sembra che ci debba essere un altro modo per farlo. Se è così, qualcuno può dirmi come si fa?
Ho bisogno di qualcosa del genere:
dbContext.GetEntities<T>()
o
dbContext.GetEntities(Type entityType)
Stai cercando questo?
DbSet<T> allEntities = yourDbContext.Set<T>();
dove puoi sostituire T
con qualsiasi tipo di entità, ad es. con Student
:
DbSet<Student> allStudents = yourDbContext.Set<Student>();
e se hai bisogno di IQueryable
, usa semplicemente .AsQueryable()
:
IQueryable<Student> allStudents = yourDbContext.Set<Student>().AsQueryable();
Si prega di studiare la documentazione MSDN ufficiale su DbContext
per maggiori dettagli e più proprietà e metodi su quella classe