Концептуальные вопросы об интерфейсе ASP.NET MVC 3 и Entity Framework / MySQL - PullRequest
0 голосов
/ 26 марта 2011

Я решил попробовать ASP.NET MVC 3. Однако мой хост-провайдер поддерживает только MySQL, и поэтому мне нужно выяснить, как использовать MVC 3 с MySQL.

Я также решил, что не хочу делать какой-либо код SQL, если смогу его избежать, и я бы также хотел использовать O / RM без особых усилий. Я понимаю, что Entity Framework действительно поможет мне достичь этого в значительной степени.

Я пытался разобраться в различных способах использования EF: сначала база данных, модель вначале и код сначала, предоставляемые фреймворком. Пока что мне не очень повезло, и я обнаружил, что во всех доступных примерах используются совершенно разные подходы, которые меня сильно смущают.

Я мог бы начать с просьбы о том, как правильно сформулировать несколько концепций. Прежде всего, модель (в MVC) на самом деле больше похожа на ViewModel, которая представляет что-то (пользователи, сообщения и т. Д.) В терминах свойств более или менее простых классов. То есть модель - это то, где данные из базы данных сопоставляются с объектом (O / RM). Я прав?

Репозиторий - это оболочка, которая инкапсулирует определенный способ получения данных для моделей. Например, DatabaseRepository или FakeTestRepository. Должен ли я иметь один репозиторий в своем проекте MVC или репозиторий для каждой таблицы базы данных, чтобы у меня были UsersRepository и PostsRepository? Должно ли хранилище быть моделью для себя, а не моделью вообще или привязано к отдельным моделям (так что UsersRepository является частью UsersModel)?

Я попытался использовать первый подход модели EF, и для простого теста я просто создал пустую модель и добавил сущности «Автор» и «Руководство», которые связаны отношением «один ко многим». Когда я затем, в Visual Studio 2010, «Создать базу данных из модели», я получаю соответствующий SQL-код. Я хочу, чтобы эта база данных была создана в MySQL. Как мне это сделать?

Существуют ли примеры кода для MVC 3 с MySQL и O / RM, где демонстрируется создание небольшого сайта?

Спасибо.

1 Ответ

0 голосов
/ 30 марта 2011

Относительно EF Model First подход: взгляните на эту статью Tips & Tricks .Мы описали эту распространенную ситуацию (она специфична для Oracle, но dotConnect для MySQL содержит шаблон «Devart SSDLToMySQL.tt»).
Что касается остальных вопросов, то здесь нетоднозначный ответ.Выберите подход, который вам больше подходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...