Не удается добавить миграцию

100
26 августа 2019, 04:40

Существуют классы GropsAndProducts, Groups, Products:

    public class GropsAndProducts
    {
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Key]
        public int Id { get; set; }
        [ForeignKey("Products")]
        public int ProductId { get; set; }
        [ForeignKey("Groups")]
        public int GroupId { get; set; }
        public Groups Groups { get; set; }
        public Products Products { get; set; }
    }
    public class Groups
    {
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Key]
        public int Id { get; set; }
        [Required]
        public string Title { get; set; }
        [Required]
        public string Discription { get; set; }
        public List<GropsAndProducts> groupAndProducts { get; set; }
    }
    public class Products
    {
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Key]
        public int Id { get; set; }
        [Required]
        public string Title { get; set; }
        // Еденица измерения
        [Required]
        public string Unit { get; set; }
        [Required]
        public int Count { get; set; }
        [Required]
        public int Price { get; set; }
        [Required]
        public int Discount { get; set; }
        public string Discription { get; set; }
        public List<GropsAndProducts> groupAndProducts { get; set; }
    }

К ним есть контекст:

using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using MySite.Models;
using System.Data;
namespace MySite.Data
{
    public class DbProductsAndGroupsContext : DbContext
    {
        public DbProductsAndGroupsContext(DbContextOptions<DbProductsAndGroupsContext> option) 
            : base (option)
        {
        }
        public DbSet<Products> products;
        public DbSet<Groups> groups;
        public DbSet<GropsAndProducts> gropsAndProducts;
    }
}

А так же настройка:

public void ConfigureServices(IServiceCollection services)
        {
            services.AddDbContext<DbProductsAndGroupsContext>(option => 
            option.UseMySql(
                Configuration.GetConnectionString("DefaultConnection"), x=> x.MigrationsHistoryTable("__MyMigrationsHistory", "mySchema"))
                );
            services.AddDbContext<DbUserContex>(options =>
                options.UseMySql(
                    Configuration.GetConnectionString("DefaultConnection")));
            services.AddDefaultIdentity<Users>()
                .AddEntityFrameworkStores<DbUserContex>();
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

Теперь о проблеме:

Первая миграция (От UserIdentity) выполнилась нормально (т е создалась новая БД а так же таблицы с записями). Но после того как я создал второй контекст и пытаюсь выполнить команду (в менеджере пакетов) EntityFrameworkCore\Add-Migration -name:asdf -context:DbProductsAndGroupsContext, то добавляется пустая миграция. Почему может так быть??? Буду рад любой информации.

Answer 1

Причина в том что надо было писать в контексте не так:

        public DbSet<Products> products;
        public DbSet<Groups> groups;
        public DbSet<GropsAndProducts> gropsAndProducts;

А так:

        public DbSet<Products> products { get; set; }
        public DbSet<Groups> groups { get; set; }
        public DbSet<GropsAndProducts> gropsAndProducts { get; set; }
READ ALSO
Метод, срабатывающий каждый час

Метод, срабатывающий каждый час

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

116
C# WPF увеличение размера Grid

C# WPF увеличение размера Grid

Имеется такой вопрос (подскажите просто куда копать) как в рамках MVVM сделать интерфейс похожий так тот, который на скрине, чтобы размер grid, самой...

122
Разрешить просмотр только через ПО

Разрешить просмотр только через ПО

Пишу программу на CefsharpВозник вопрос

109
Правильное использование нескольких postMessage

Правильное использование нескольких postMessage

HWnd1 и HWnd2 дочерные элементы одного и того же системного окна

129