2017-07-13 1 views
1

Je voulais créer une méthode générique qui chargerait dynamiquement le dbset et ferait quelque chose.Existe-t-il un moyen de charger dynamiquement un dbset dans le noyau EF?

Par exemple quelque chose comme ceci (méthode imaginaire):

public IList<TEntity> GetData<TEntity>(DbSet<TEntity> entity) where TEntity : class 
{ 
    return DbContext<entity>.Load().Where(*Some Logic*).ToList(); 
} 

je me suis dit si j'exécute des requêtes SQL, je peux répondre à l'exigence. Mais je veux le faire sans requêtes directes.

Y at-il un moyen de le faire?

Répondre

1
public IList<TEntity> GetData<TEntity>(Expression<Func<TEntity, bool>> expression) where TEntity : class 
{ 
    return _context.Set<TEntity>().Where(expression).ToList(); 
} 

Et:

GetData<Contest>(t => t.IsOpened == true);