Я немного ослеплен;Я использую dotnet core (2.1) EF с миграциями.Когда я создаю первую миграцию только на основе контекста, на самом деле все выглядит нормально.
поэтому у меня есть такой контекст:
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 !!