Была сгенерирована ошибка для предупреждения
'microsoft.entityframeworkcore.migrations.pendingmodelchangeswarning ':
Модель для контекста «contextodb» имеет ожидающие изменения. Добавьте новую миграцию
перед обновлением базы данных. Это исключение может быть подавлено или зарегистрировано или зарегистрировано путем передачи идентификатора события
'relationaleventid.pendingmodelchangeswarning' методу
'configurewarnings' в 'dbcontext.onconfiguring' или
'adddbcontext'. /p>
< /blockquote>
Теперь первое, что я сделал, - это просто попытаться отменить мою последнюю миграцию, которая добавила только некоторые данные о сеялках в таблицу IdentityRole < /code>, которая автогенерирует через Identity.entityFrameWorkCore Теперь я создал, перенес сначала таблицу с контекстом и все, а затем я понял, что мне нужны некоторые данные для сеялки, чтобы работать, как я хотел в контроллерах.
Итак, я только что добавил: < /p>
Код: Выделить всё
var roles = new List
{
new IdentityRole
{
Name = "Admin",
NormalizedName = "ADMIN"
},
new IdentityRole
{
Name = "User",
NormalizedName = "USER"
}
};
modelBuilder.Entity().HasData(roles);
Но это также не сработало. Теперь я понимаю, что ошибка гласит, что я могу игнорировать это предупреждение. Что я сделал, добавив: < /p>
Код: Выделить всё
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.ConfigureWarnings(warnings =>
warnings.Ignore(RelationalEventId.PendingModelChangesWarning));
}
Я не совсем уверен, является ли это правильным способом обработки этого или каких последствий или осложнений Это заставляет меня работать в будущем. Любой способ исправить его более безопасным способом, я был бы более чем рад узнать об этом. >
Код: Выделить всё
public class ContextoDb : IdentityDbContext
{
public ContextoDb(DbContextOptions options) : base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity
()
.HasIndex(p => p.Carnet).IsUnique();
modelBuilder.Entity()
.HasData(
new Persona
{
Id = 1,
Nombre = "Ismael",
Apellido = "Moron",
Carnet = "12597382"
}
);
modelBuilder.Entity().HasData(
new Hijo
{
Id = 1,
Nombre = "Poto",
FechaNacimiento = DateOnly.Parse("2020-10-21"),
PersonaId = 1
}
);
var roles = new List
{
new IdentityRole
{
Name = "Admin",
NormalizedName = "ADMIN"
},
new IdentityRole
{
Name = "User",
NormalizedName = "USER"
}
};
modelBuilder.Entity().HasData(roles);
base.OnModelCreating(modelBuilder);
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.ConfigureWarnings(warnings =>
warnings.Ignore(RelationalEventId.PendingModelChangesWarning));
}
public DbSet Personas { get; set; }
public DbSet Hijos { get; set; }
}
>
Подробнее здесь: https://stackoverflow.com/questions/792 ... geswarning