我对存储库模式有点困惑,在这里我写了我的代码然后我解释: 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
提交
取消