Руководство. Создание представлений для базы данных EF First с помощью приложения MVC ASP.NET
С помощью MVC, Entity Framework и ASP.NET шаблонов можно создать веб-приложение, которое предоставляет интерфейс для существующей базы данных. В этой серии учебников показано, как автоматически создавать код, позволяющий пользователям отображать, редактировать, создавать и удалять данные, находящиеся в таблице базы данных. Созданный код соответствует столбцам в таблице базы данных.
В этом руководстве основное внимание уделяется использованию шаблонов ASP.NET для создания контроллеров и представлений.
Изучив это руководство, вы:
- Добавление шаблонов
- Добавление ссылок на новые представления
- Отображение представлений учащихся
- Отображение представлений регистрации
Предварительные требования
- Создание веб-приложения и моделей данных
- При использовании Visual Studio 2022 установите шаблоны проектов и элементов Net Framework.
Добавление шаблонов
Вы готовы создать код, который предоставит стандартные операции с данными для классов моделей. Добавьте код, добавив элемент шаблонов. Существует множество вариантов для типа шаблонов, которые можно добавить; В этом руководстве шаблон будет включать контроллер и представления, соответствующие моделям учащихся и регистрации, созданным в предыдущем разделе.
Чтобы обеспечить согласованность в проекте, вы добавите новый контроллер в существующую папку Контроллеров . Щелкните правой кнопкой мыши папку "Контроллеры" и выберите "Добавить>новый шаблонный элемент".
Выберите контроллер MVC 5 с представлениями с помощью параметра Entity Framework. Этот параметр создаст контроллер и представления для обновления, удаления, создания и отображения данных в модели.
Выберите student (ContosoSite.Models) для класса модели и выберите contosoUniversityDataEntities (ContosoSite.Models) для класса контекста. Сохраните имя контроллера в качестве StudentsController.
Нажмите кнопку Добавить.
Если вы получили сообщение об ошибке, это может быть вызвано тем, что проект не был построен в предыдущем разделе. Если да, попробуйте построить проект, а затем снова добавить шаблонный элемент.
После завершения процесса создания кода вы увидите новый контроллер и представления в папках контроллеров и представлений> учащихся проекта.
Повторите те же действия, но добавьте шаблон для класса Регистрации . По завершении у вас есть файл EnrollmentsController.cs и папка в разделе "Представления " с именем "Регистрация ", "Создание", "Удаление", "Сведения", "Изменить" и "Индекс".
Добавление ссылок на новые представления
Чтобы упростить переход к новым представлениям, можно добавить несколько гиперссылок в представления индекса для учащихся и регистраций. Откройте файл в views>Home>Index.cshtml, который является домашней страницей сайта. Добавьте следующий код под jumbotron.
<div>
@Html.ActionLink("List of students", "Index", "Students")<br />
@Html.ActionLink("List of enrollments", "Index", "Enrollments")
</div>
Для метода ActionLink первый параметр — это текст, отображаемый в ссылке. Второй параметр — это действие, а третий параметр — имя контроллера. Например, первая ссылка указывает на действие Index в StudentsController. Фактическая гиперссылка создается из этих значений. Первая ссылка в конечном итоге принимает пользователей в файл Index.cshtml в папке Views/Students .
Отображение представлений учащихся
Вы убедитесь, что код, добавленный в проект, правильно отображает список учащихся и позволяет пользователям изменять, создавать или удалять записи учащихся в базе данных.
Щелкните правой кнопкой мыши файл Views>Home>Index.cshtml и выберите "Вид" в браузере. На домашней странице приложения выберите список учащихся.
На странице индекса обратите внимание на список учащихся и ссылки на изменение этих данных. Выберите ссылку "Создать" и укажите некоторые значения для нового учащегося. Нажмите кнопку " Создать" и обратите внимание, что новый учащийся добавляется в список.
Вернитесь на страницу индекса , выберите ссылку "Изменить " и измените некоторые значения для учащегося. Нажмите кнопку " Сохранить" и обратите внимание, что запись учащегося была изменена.
Наконец, выберите ссылку "Удалить " и подтвердите, что хотите удалить запись, нажав кнопку "Удалить ".
Без написания кода вы добавили представления, которые выполняют общие операции с данными в таблице Student.
Возможно, вы заметили, что текстовая метка для поля основана на свойстве базы данных (например , LastName), которое не обязательно должно отображаться на веб-странице. Например, вы можете предпочесть, чтобы метка была фамилией. Эта проблема будет устранена позже в руководстве.
Отображение представлений регистрации
База данных включает связь "один ко многим" между таблицами учащихся и регистрацией, а также связь "один ко многим" между таблицами курса и регистрацией. Представления для регистрации правильно обрабатывают эти связи. Перейдите на домашнюю страницу сайта и выберите ссылку "Список регистраций", а затем ссылку "Создать".
В представлении отображается форма для создания новой записи регистрации. В частности, обратите внимание, что форма содержит раскрывающийся список CourseID и раскрывающийся список StudentID . Оба заполняются значениями из связанных таблиц.
Кроме того, проверка предоставленных значений автоматически применяется на основе типа данных поля. Для оценки требуется число, поэтому при попытке предоставить несовместимое значение отображается сообщение об ошибке: значение поля должно быть числом.
Вы проверили, что автоматически созданные представления позволяют пользователям работать с данными в базе данных. В следующем руководстве этой серии вы обновите базу данных и внесите соответствующие изменения в веб-приложение.
Следующие шаги
Изучив это руководство, вы:
- Добавлен шаблон
- Добавлены ссылки на новые представления
- Отображаемые представления учащихся
- Отображаемые представления регистрации
Перейдите к следующему руководству, чтобы узнать, как изменить базу данных.