У меня была дискуссия с другим разработчиком о шаблоне репозитория с mvc3 и EF, который привел меня в замешательство.
Я не уверен, что лучше всего следовать шаблону хранилища с MVC3 и EF.
Допустим, у меня есть таблица с названием Product, содержащая ProductID и ProductName. Я создаю свою новую модель EF.
Я также создаю базовую модель ProductModel
public int ProductID{get;set:}
public string ProductName{get;set}
Должен ли мой контроллер знать что-либо о моей сущности, созданной EF? или я собираюсь делать все мои разговоры с EF внутри моего хранилища?
например. Основной пост
[HttpPost]
public ActionResult Product(ProductModel model)
Затем в моем контроллере я передаю модель в свой репозиторий, чтобы позаботиться о вставке, или если мой контроллер должен быть привязан непосредственно к моей модели продукта EF, а затем передаю ее в мой репозиторий, чтобы заботиться о вставке. *
Я подумал, что идея использования репозитория заключается в том, что, скажем, через 12 месяцев, если я захочу удалить структуру сущностей и использовать что-то еще, мне нужно будет только обновить свой репозиторий и не трогать ни одного из мои контролеры.
Какая лучшая практика?