Добавление модели в Razor Pages

https://docs.microsoft.com/ru-ru/aspnet/core/tutorials/razor-pages/model?view=aspnetcore-3.0&tabs=visual-studio

В этой статье за основу я возьму пример, который описывает сама Майкрософт.

Довайте добавим модель в Razor Pages. В этом примере мы будем работать со списком фильмов. База данных на основе ORM (в нашем случае Entity Framework core)

Используя Visual Studio 2019

Нажимите правой кнопкой по солюшену > Add > New Folder. Имя папки Models.

Как добавить папку в VisualStudio

Далее тоже самое, но с папкой. Нажмите правой кнопкой по папке Models.  Выберите Add > Class. Имя класса задайте как Movie.

Дабавьте свойства в класс Movie:

using System;
using System.ComponentModel.DataAnnotations;

namespace RazorPagesMovie.Models
{
    public class Movie
    {
        public int ID { get; set; }
        public string Title { get; set; }

        [DataType(DataType.Date)]
        public DateTime ReleaseDate { get; set; }
        public string Genre { get; set; }
        public decimal Price { get; set; }
    }
}

Свойство ID обязательное. Оно требуется для нашей ORM. То есть когда ORM будет создавать таблицы на основе наших классов. Она будет проверять наличие ID или MovieId (в качестве альтернативы). Если ORM найдет одно из этих свойств, то создаст таблицу с первичным ключом ID или MovieId.

Атрибут [DataType(DataType.Date)] необязательный. В нашем примере он просто добавит html поле с типом дата. Т.е. создаст поле <input type=»date» />

Тип date для элемента input

Скафолдинг стринцы (page scaffold)

Нам надо добавить файл представления и файл класса. Но, чтобы не делать этого вручную VisualStudio умеет добавлять нужную инфраструктуру автоматически. Данный процесс можно назвать скофолдингом.

Чтобы воспользоваться скафолдингов в VS. Добавьте папку Pages и Movies внутри. Далее нажмем правой кнопкой Add -> New Scaffolded item как на картинке.

Razor Pages - Скафолдинг стринцы

Как добавить CRUD действия на основе нашей модели.

После комадны New Scaffolded item добавим CRUD действия на основе нашей модели. (CRUD — Это основные действия create, read, update, delete)

Как добавить CRUD действия в Razor Pages.

Вы модальном окте «Add razor pages using entity framework (CRUD)». Выберите следуюшие позиции из списков.

  • Model class — укажите свой класс модели (Movie).
  • Date context class — нажмите на плюсик и укажите контекст RazorPagesMovies.Models.RazorPagesMovieContext (VS автоматически добавит нужный класс контекста с записимостями)
Модальное окно "Add razor pages using entity framework (CRUD)"

VisualStudio автоматически сгенерирует нам файлы.

  • Pages/Movies: Create, Delete, Details, Edit, and Index.
  • Data/RazorPagesMovieContext.cs

Comments are closed.