【发布时间】:2010-10-22 16:18:56
【问题描述】:
我有 CompanyController 和 DepartmentController:
public class CompanyController : BaseBackendController
{
private ICompanyRepository repository;
public CompanyController(ICompanyRepository repository)
{
this.repository = repository;
}
...
[HttpPost]
public ActionResult BatchDelete(long[] ids)
{
var entities = repository.GetList().Where(item => ids.Contains(item.ID));
repository.BatchDelete(entities);
return RedirectToAction("Index");
}
}
public class DepartmentController : BaseBackendController
{
private IDepartmentRepository repository;
public DepartmentController(IDepartmentRepository repository)
{
this.repository = repository;
}
...
[HttpPost]
public ActionResult BatchDelete(long[] ids)
{
var entities = repository.GetList().Where(item => ids.Contains(item.ID));
repository.BatchDelete(entities);
return RedirectToAction("Index");
}
}
您可以看到 BatchDelete 的逻辑是相同的,我希望将它放置到父控制器,但是有一个挑战,存储库。我无法调用基本控制器 repository.GetList()。
【问题讨论】:
标签: asp.net-mvc linq-to-sql repository-pattern