UnitOfWork 的 DbSet 扩展

问题描述

我想为 DbSet 制作一个扩展方法。 这就是我所做的。

public static IQueryable<TModel> Queryable<TModel>(this DbSet<TModel> model) where TModel : class
    {

        return model.AsQueryable();
    }

当我从 dbContext 调用它时它工作正常。 但是我想从我的 unitOfWork 中调用它,因此 DbSet 需要是通用的才能对继承的对象可见。 我想通了:

 public static IQueryable<TModel> Queryable<TModel,TSet>(this TSet model)
        where TSet : DbSet<TModel>
        where TModel : class
    {

        return model.AsQueryable();
    }

我可以从我的 unitOfWork 调用方法

var testUnit = 
           from myModel in unitOfWork.MyModelRepository.Queryable<MyModel,???>() 
           select myModel;

但我不知道如何通过第二种类型,我把问号放在哪里。有些事情我不明白。 如果您需要更多信息,请告诉我。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)