EFcore с IdentityDbContext и заполнением hasData создает IdentityRole

Roelant M спросил: 03 ноября 2018 в 08:24 в: c#

Я немного ошеломлен, я использую EF dotnet core (2.1) с миграциями. Когда я создаю первую миграцию только на основе контекста, на самом деле все выглядит нормально.

поэтому у меня есть такой контекст:

public class DataContext : IdentityDbContext<User, IdentityRole<Guid>, Guid>
{    public virtual DbSet<Country> Countries { get; set; }
    public virtual DbSet<CountryUser> CountryUsers { get; set; }
    //..more stuff    public DataContext(DbContextOptions options) : base(options)
    { }
}

, поэтому после создания миграции, которые он хочет добавить:

migrationBuilder.CreateTable(
            name: "AspNetRoles",
            columns: table => new
            {
                Id = table.Column<Guid>(nullable: false),
                Name = table.Column<string>(maxLength: 256, nullable:
                //etc. etc. Removed rest of migrations.

Все хорошо, я думал.

Затем я начал читать следующую статью; Как заполнить пользователя-администратора в EF Core 2.1.0?

После установки HasData и заполнения базы данных, создал новую миграцию, он создал новую миграцию, где он хотел удалить таблицу AspNetRoles и создать как новую таблицу IdentityRole. Я просто удалил базу данных и попытался сделать это снова, и теперь он хочет вставить данные только при заполнении. Но я не могу понять, что я изменил и даже лучше, почему он хотел удалить и создать разные таблицы.

кто-нибудь может объяснить, когда он хочет создать AspNetRoles и когда он хочет создать IdentityRoles (и вместе с другими таблицами, которые идут вместе с ним).

Просто чтобы быть уверенным; контекст всегда расширялся от

: IdentityDbContext<User, IdentityRole<Guid>, Guid>

и моего User:

public class User : IdentityUser<Guid>
{
    public virtual ICollection<CountryUser> CountryUsers { get; set; }
}

Thnx !!

0 ответов