@Parsifal31017
Программист

Как добавить еще одну модель в приложение Razor Pages в ASP.NET Core?

Здравствуйте, я в свой проект хочу добавить еще одну модель, но когда я пытаюсь сделать эту команду: "Add-Migration InitialCreate" возникает ошибка.
скриншоты ошибки

5fe705a8cf8ce259329455.png
5fe705baabad7302738035.png

Я опиралась на этот учебник: https://docs.microsoft.com/ru-ru/aspnet/core/tutor.... Одну модель я уже сделала:

код

using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace MyWebSIte.Models
{
    public class Company
    {
        public int ID { get; set; }

        [StringLength(60, MinimumLength = 3)]
        [Required]
        public string Title { get; set; }

        [Display(Name = "Release Date")]
        [DataType(DataType.Date)]
        public DateTime ReleaseDate { get; set; }

        [RegularExpression(@"^[A-Z]+[a-zA-Z0-9""'\s-]*$")]
        [StringLength(5)]
        [Required]
        public string Rating { get; set; }

        [RegularExpression(@"^[A-Z]+[a-zA-Z]*$")]
        [Required]
        [StringLength(30)]
        public string Bonus { get; set; }

        [RegularExpression(@"^[A-Z]+[a-zA-Z]*$")]
        [Required]
        [StringLength(30)]
        public string Description { get; set; }

        [RegularExpression(@"^[A-Z]+[a-zA-Z]*$")]
        [Required]
        [StringLength(30)]
        public string Thematics { get; set; }

        public byte[] Images { get; set; }

        [RegularExpression(@"^[A-Z]+[a-zA-Z]*$")]
        [Required]
        [StringLength(30)]
        public string Video { get; set; }

        [RegularExpression(@"^[A-Z]+[a-zA-Z]*$")]
        [Required]
        [StringLength(30)]
        public string Topic { get; set; }

        [RegularExpression(@"^[A-Z]+[a-zA-Z]*$")]
        [Required]
        [StringLength(30)]
        public string News { get; set; }

        [Range(1, 100)]
        [DataType(DataType.Currency)]
        [Column(TypeName = "decimal(18, 2)")]
        public decimal Price { get; set; }

        [RegularExpression(@"^[A-Z]+[a-zA-Z]*$")]
        [Required]
        [StringLength(30)]
        public string Tags { get; set; }
    }
}

Модель Company:
5fe709134ebb7568483645.png
Потом я ввела команду: Add-Migration InitialCreate, и вот что у меня создалось:
using System;
using Microsoft.EntityFrameworkCore.Migrations;

namespace MyWebSIte.Data.Migrations
{
    public partial class InitialCreate : Migration
    {
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.CreateTable(
                name: "Company",
                columns: table => new
                {
                    ID = table.Column<int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    Title = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    ReleaseDate = table.Column<DateTime>(type: "datetime2", nullable: false),
                    Rating = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    Bonus = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    Description = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    Thematics = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    Images = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    Video = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    Topic = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    News = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    Price = table.Column<decimal>(type: "decimal(18,2)", nullable: false),
                    Tags = table.Column<string>(type: "nvarchar(max)", nullable: true)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_Company", x => x.ID);
                });
        }

        protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropTable(
                name: "Company");
        }
    }
}

А потом я создала 2 модель.
Модель данных:
using System;
using System.ComponentModel.DataAnnotations;

namespace MyWebSIte.Models
{
    public class Users
    {
        public int ID { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public decimal Age { get; set; }
        public string Country { get; set; }
        public string City { get; set; }
        public string Email { get; set; }
        public string AboutMe { get; set; }
    }
}



Но создать миграцию я не могу, как мне это сделать?. как мне добавить еще одну модель данных?
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
@Parsifal31017 Автор вопроса
Программист
Комментировать
Пригласить эксперта
Ответы на вопрос 2
У вас в базе уже есть таблица Company (или не таблица). Видимо они там были ещё до миграции.
Попробуйте это: https://docs.microsoft.com/ru-ru/ef/core/managing-...
тогда EF просканирует вашу БД на наличие каких-то баз и создаст модели, которые отражают её.
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Держите решение
https://stackoverflow.com/questions/43277154/entit...

Хотя бы я ограничился int16 для возраста или это планеты?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы