Руководство. Создание представлений для EF Database First с помощью приложения MVC ASP.NET

С помощью MVC, Entity Framework и ASP.NET формирования шаблонов можно создать веб-приложение, предоставляющее интерфейс для существующей базы данных. В этой серии руководств показано, как автоматически создавать код, который позволяет пользователям отображать, изменять, создавать и удалять данные, хранящееся в таблице базы данных. Созданный код соответствует столбцам в таблице базы данных.

В этом руководстве основное внимание уделяется использованию ASP.NET формирования шаблонов для создания контроллеров и представлений.

Изучив это руководство, вы:

  • Добавление шаблона
  • Добавление ссылок на новые представления
  • Отображение представлений учащихся
  • Отображение представлений регистрации

Предварительное требование

Добавление шаблона

Вы готовы создать код, который будет предоставлять стандартные операции с данными для классов модели. Код добавляется путем добавления элемента шаблона. Существует множество вариантов для типа формирования шаблонов, которые можно добавить. В этом руководстве шаблон будет включать контроллер и представления, соответствующие моделям Student и Enrollment, созданным в предыдущем разделе.

Чтобы обеспечить согласованность проекта, вы добавите новый контроллер в существующую папку Контроллеры . Щелкните правой кнопкой мыши папку Контроллеры и выберите Добавить>новый шаблонный элемент.

Выберите контроллер MVC 5 с представлениями с помощью Entity Framework . Этот параметр создает контроллер и представления для обновления, удаления, создания и отображения данных в модели.

Добавление контроллера mvc

Выберите Student (ContosoSite.Models) для класса модели и выберите ContosoUniversityDataEntities (ContosoSite.Models) для класса контекста. Оставьте имя контроллера StudentsController.

Нажмите кнопку Добавить.

Если вы получаете сообщение об ошибке, возможно, это связано с тем, что вы не выполнили сборку проекта в предыдущем разделе. Если это так, попробуйте выполнить сборку проекта, а затем снова добавьте элемент с шаблоном.

После завершения процесса создания кода вы увидите новый контроллер и представления в папках "Контроллеры " и "Представления>учащихся " проекта.

Выполните те же действия еще раз, но добавьте шаблон для класса Enrollment . По завершении у вас будет файл EnrollmentsController.cs и папка в разделе Представления с именем Enrollments с представлениями Create, Delete, Details, Edit and Index.

Чтобы упростить переход к новым представлениям, можно добавить несколько гиперссылок в представления индекса для учащихся и учащихся. Откройте файл в файле Views>Home>Index.cshtml, который является домашней страницей вашего сайта. Добавьте следующий код под jumbotron.

<div>
    @Html.ActionLink("List of students", "Index", "Students")<br />
    @Html.ActionLink("List of enrollments", "Index", "Enrollments")
</div>

Для метода ActionLink первым параметром является текст, отображаемый в ссылке. Второй параметр — это действие, а третий параметр — имя контроллера. Например, первая ссылка указывает на действие Индекс в StudentsController. Фактическая гиперссылка создается на основе этих значений. Первая ссылка в конечном итоге приведет пользователей к файлу Index.cshtml в папке Views/Students .

Отображение представлений учащихся

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

Щелкните правой кнопкой мыши файл Views>Home>Index.cshtml и выберите Вид в браузере. На домашней странице приложения выберите Список учащихся.

Снимок экрана, на котором показана домашняя страница My A S P. NET. Список учащихся обведен красным цветом.

На странице Индекс обратите внимание на список учащихся и ссылки для изменения этих данных. Щелкните ссылку Создать и укажите некоторые значения для нового учащегося. Нажмите кнопку Создать и обратите внимание, что новый учащийся добавлен в список.

Вернитесь на страницу Индекс , щелкните ссылку Изменить и измените некоторые значения для учащегося. Нажмите кнопку Сохранить и обратите внимание, что запись учащегося была изменена.

Наконец, щелкните ссылку Удалить и подтвердите удаление записи, нажав кнопку Удалить .

Без написания кода вы добавили представления, которые выполняют общие операции с данными в таблице Student.

Возможно, вы заметили, что текстовая метка для поля основана на свойстве базы данных (например , LastName), которое не обязательно будет отображаться на веб-странице. Например, вы можете выбрать метку Last Name( Фамилия). Эта проблема с отображением будет устранена далее в этом руководстве.

Отображение представлений регистрации

База данных включает связь "один ко многим" между таблицами Student и Enrollment, а также связь "один ко многим" между таблицами Course и Enrollment. Представления для регистрации правильно обрабатывают эти связи. Перейдите на домашнюю страницу сайта и выберите ссылку Список регистраций , а затем ссылку Создать .

В представлении отображается форма для создания новой записи регистрации. В частности, обратите внимание, что форма содержит раскрывающийся список CourseID и раскрывающийся список StudentID . Оба заполнены значениями из связанных таблиц.

Кроме того, проверка предоставленных значений автоматически применяется в зависимости от типа данных поля. Для оценки требуется число, поэтому при попытке указать несовместимое значение отображается сообщение об ошибке: Поле Grade должно быть числом.

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

Дальнейшие действия

Изучив это руководство, вы:

  • Добавлен шаблон
  • Добавлены ссылки на новые представления
  • Отображаемые представления учащихся
  • Отображаемые представления регистрации

Перейдите к следующему руководству, чтобы узнать, как изменить базу данных.