Ядро Asp.net - IdentityDbContext не создает другие таблицы, только таблицы идентификаторов - PullRequest
0 голосов
/ 06 марта 2019

Я использую Add-Migration Initial для создания баз данных, но он создает только таблицы Identity и не создает таблицу Категорий.Есть идеи, что я делаю не так?

using Ecommerce.Core;
using Ecommerce.Core.Domain.Categorias;
using Ecommerce.Core.Domain.Roles;
using Ecommerce.Core.Domain.Usuarios;
using Ecommerce.Data.ModelExtensions;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;

namespace Ecommerce.Data
{
    public class EcommerceContext : IdentityDbContext<Usuario, Role, int>
    {
        public EcommerceContext(DbContextOptions<EcommerceContext> options) : base(options) { }

        protected override void OnModelCreating(ModelBuilder builder)
        {
            base.OnModelCreating(builder);
            //builder.AddEntityConfigurationsFromAssembly(GetType().Assembly);
            builder.Entity<Categoria>(c =>
            {
                c.ToTable("Categoria");
                c.HasKey(i => i.Id);
                c.Property(i => i.Nome);
                c.Property(i => i.dataCadastro);
            });
        }

        public DbSet<Categoria> Categoria { get; set; }
    }
}

1 Ответ

0 голосов
/ 06 марта 2019
using Ecommerce.Core;
using Ecommerce.Core.Domain.Categorias;
using Ecommerce.Core.Domain.Roles;
using Ecommerce.Core.Domain.Usuarios;
using Ecommerce.Data.ModelExtensions;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;

namespace Ecommerce.Data
{
    public class EcommerceContext : IdentityDbContext<Usuario, Role, int>
    {
        public DbSet<Categoria> Categoria { get; set; }

        public EcommerceContext(DbContextOptions<EcommerceContext> options) : base(options) { }

        protected override void OnModelCreating(ModelBuilder builder)
        {
            //builder.AddEntityConfigurationsFromAssembly(GetType().Assembly);
            builder.Entity<Categoria>(c =>
            {
                c.ToTable("Categoria");
                c.HasKey(i => i.Id);
                c.Property(i => i.Nome);
                c.Property(i => i.dataCadastro);
            });

            base.OnModelCreating(builder);
        }
    }
}

Вы должны позвонить base.OnModelCreating(builder); после того, как настройки вашей сущности вступят в силу.

Извините за мой английский, я надеюсь, что это может помочь вам.

...