为了账号安全,请及时绑定邮箱和手机立即绑定

如何在存储库模式(MVC)中拥有多个类

如何在存储库模式(MVC)中拥有多个类

C#
郎朗坤 2021-10-24 20:02:54
我对存储库模式有点困惑,在这里我写了我的代码然后我解释: public  interface IRepositoryTest<T> where T:class{  IEnumerable<T> SelectAll(Expression<Func<T, bool>> predicate);}这是上述签名的实现: public class RepositoryTest<T>:IRepositoryTest<T> where T:class{    private CentralEntities db = null;    private DbSet<T> table = null;    public RepositoryTest() {    this.db = new CentralEntities();    table = db.Set<T>();                        }    public RepositoryTest(CentralEntities db)    {        this.db = db;        table = db.Set<T>();    }    public IEnumerable<T> SelectAll(Expression<Func<T, bool>> predicate)    {        return table.Where(predicate).ToList();    }}现在在我的控制器中,如果我想使用这个存储库,我必须做这样的事情:  IRepositoryTest<UserRoles> _repository = null;    public DashbrdController(IRepositoryTest<UserRoles> _repository)    {        this._repository = _repository;    }    public DashbrdController()    {        this._repository = new RepositoryTest<UserRoles>();    }    public ActionResult DashBrd()    {        var rslt = _repository.SelectAll(s=>s.user_id=="myName");                 return View();    }这里的问题是,在我的控制器中,我只能使用模型中的一个类,如您所见(UserRoles),如果我想向该控制器添加另一个类,我该怎么做?我想有多个类加入他们,但在我的控制器的构造函数中我只能使用一个类,问题出在哪里?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 191 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信