MVC 3, Entity Framework 4.x, база данных сначала, отчаяние - PullRequest
7 голосов
/ 25 августа 2011

VS2010 Pro + SqlServer Express.

Будучи брошенным в ASP.NET MVC 3 без каких-либо указаний, кроме Интернета (2 книги на заказ), я даже не могу оторваться от земли.

Сам MVC я получаю. Не проблема. PHP, Ruby и даже ужасные WebForms прочно укоренились в моем инструментальном поясе, с долгой историей разработки клиент-сервер C ++ QT до этого.

Связывание ASP.NET MVC 3 с базой данных с использованием EF4 ORM убивает меня.
Цели:

  1. Использовать базу данных, смоделированную администратором базы данных. Я могу указать все соглашения об именах, но код сначала не подходит !
  2. Импорт в EDMX. Это будет регулярно обновляться с использованием инструментов VS из DB DB, никогда не редактироваться напрямую.
  3. Создание частичных классов из EDMX для использования в качестве модели. Это будет регулярно обновляться с использованием инструментов VS, никогда не редактироваться напрямую.
  4. Используйте 'buddy', чтобы расширить класс модели с помощью кода, необходимого для контроллеров / представлений.
  5. Интуитивно используйте полученную модель, передавайте ее в представление, извлекайте в нее сообщения для вставки / сохранения и т. Д. *

Я видел и читал очень много блогов , форума сообщений , пошаговых инструкций и стека переполнение сообщений относительно этого самого случая использования. Я даже попытался покататься на волшебном единороге , за которым последовала последняя версия 4.2beta1 с генераторами DbContext .

Но не могу оторваться от земли. Я следую инструкциям, но просто не понимаю, как делать что-либо с ним. Какие условности требует «приятель» (если есть)? Как мне это использовать? Как я могу получить данные с ним? Как мне записать данные? Каждый пример выглядит по-другому. Руководства MVC всегда ориентированы на пользовательский интерфейс. Руководства EF не охватывают использование в MVC.

Это основные вопросы, и сейчас я чувствую себя самым некомпетентным идиотом в WWW.

Кто-нибудь сейчас использует MVC3 & EF4.x так, как я описал выше?

Ответы [ 3 ]

2 голосов
/ 25 августа 2011

Это видео - хороший стартовый ресурс. Это видео с парнем, создающим приложение с нуля, которое использует сущность и базу данных sql (хотя он делает БД в видео, это все еще хорошо, чтобы увидеть некоторые основы в действии). Вы можете видеть, как он извлекает данные из базы данных, отображает их на странице и сохраняет изменения в базе данных.

0 голосов
/ 25 августа 2011

На самом деле на сайте ASP.NET MVC есть несколько действительно хороших видеороликов и руководств по началу работы. Раздел «Модель (данные)» ориентирован на Entity Framework и затрагивает горячие темы, такие как репозитории и единицы работы.

0 голосов
/ 25 августа 2011

Первый вопрос, который я хотел бы задать, - почему вы застряли на использовании EF в качестве ORM или даже настаивали на ORM вообще? Я бы выбрал инструменты, подходящие для данной работы, особенно учитывая ограничения уровня данных.

Классы Buddy были концепцией, изобретенной в тот день, когда у основных .NET ORM не было опции «сначала код», поскольку экземпляры класса, обремененные ORM, действительно плохо себя ведут при таких вещах, как привязка модели. Не берите в голову, что Вы не могли украсить их DataAnnotations, используемым, чтобы указать, что поля были обязательны для заполнения. Как правило, техническим требованием является использование атрибутов [MetadataType] для привязки ваших друзей к вашим моделям и, возможно, что-то вроде AutoMapper для отображения данных туда и сюда.

Все это говорит о том, что как парень, у которого есть несколько приложений с множеством приятелей и множеством автоматических действий, вы можете подумать иначе - это просто кошмар обслуживания. Я живу этим.

...