Я пытаюсь изучить Asp.net Mvc, поэтому пробую это Учебник.
Они говорят о шаблоне репозитория и о том, как легко перейти на другую технологию доступа к данным, а не просто напрямую вызывать Linq в Sql.
Using LINQ to SQL within a controller class makes it difficult to switch data access technologies in the future. For example, you might decide to switch from using Microsoft LINQ to SQL to using the Microsoft Entity Framework as your data access technology. In that case, you would need to rewrite every controller that accesses the database within your application.
Примечание: я никогда толком не понимал, как работает интерфейс, прежде чем прочитал это руководство, и это все еще не на 100% понятно. Сейчас я рассматриваю это как своего рода «шаблон» для класса.
После успешного использования Linq to Sql я подумал, что было бы неплохо попробовать Ado.net Entity Framework, так как я много читал об этом. Они сказали, что использование шаблона репозитория упростит переключение, поэтому я решил проверить это.
У меня вопрос: что мне делать, чтобы перейти на Ado.net EF?
Я думаю, это то, что я должен делать.
- Добавьте файл Movie.edmx и настройте его (добавьте мою таблицу фильмов).
- Напишите новый класс на основе IMovieRepository и, возможно, назовите его MovieEFRepository.
- Измените параметр в конструкторе контроллера на MovieEFRepository. Это первое, что мне кажется странным, потому что в учебнике говорится, что неиспользование репозитория заставит вас изменить все контроллеры, если вы переключитесь на другой источник данных. Разве мне все равно не нужно менять каждый контроллер, поскольку я указываю класс MovieRepository?
- Последнее, что мне нужно сделать, это изменить вид. Потому что он использует класс Product, созданный дизайнером Linq to Sql. Я не знаю, как я собираюсь это сделать. Думаю, мне следовало использовать какой-то объект, не зависящий от файла dbml?
Простите меня, если у меня есть несколько упрощенный взгляд на Asp.net Mvc. Я веб-дизайнер и очень интересуюсь веб-разработкой Asp.net.