Прежде всего.Ответственность Контроллера не состоит в том, чтобы выполнять задачи, ориентированные на базу данных, поэтому:
- Lests ваш класс репозитория выполняет любые операции CRUD
, затем передает ваш объект только от контроллера к репозиторию, напримеркоторый может смотреть ваш репозиторий и использование контроллера:
public class NewsRepository : IRepository
{
public void SaveOrUpdate(NewsViewModel news)
{
//if isNew then Save else Update
}
//public void Delete(NewsViewModel newsToDel){}
//public NewsViewModel GetById(int newsId){}
}
public class NewsController : Controller
{
private IRepository _newsRepository;
public NewsController(IRepository newsRepository)
{
//passed from IoC container like StructureMap or instantiate it by your own here.
_newsRepository = newsRepository;
}
[HttpPost]
public ActionResult Edit(NewsViewModel row)
{
_newsRepository.SaveOrUpdate(rowEntity);
}
}