Была сгенерирована ошибка для предупреждения
'microsoft.entityframeworkcore.migrations.pendingmodelchangeswarnning':
Модель для контекста. Добавьте новую миграцию
перед обновлением базы данных. Это исключение может быть подавлено или зарегистрировано или зарегистрировано путем передачи идентификатора события
'relationaleventid.pendingmodelchangeswarning' методу
'configurewarnings в' dbcontext.onconfiguring 'или
' adddbcontext '. Миграция, которая добавила лишь некоторые данные о сеялках в таблицу IdentityRole , которая автогенерируется с помощью идентификации.
Код: Выделить всё
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