有没有办法在EF核心中动态加载dbset?

时间:2017-07-13 14:14:51

标签: c# entity-framework linq dynamic ef-code-first

我想制作一个动态加载dbset并执行某些操作的通用方法。

例如像这样(虚构方法):

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

我想如果我执行原始sql查询,我可以满足要求。但我想在没有直接询问的情况下这样做。

我有什么方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

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

并使用:

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