Каковы последствия подавления предупреждения PendingModelChangesWarning EF Core?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Каковы последствия подавления предупреждения PendingModelChangesWarning EF Core?

Сообщение Anonymous »

Я работаю над веб-API ASP.NET Core, используя Entity Framework Core. При попытке обновить базу данных я получаю следующую ошибку:

Ошибка была сгенерирована для предупреждения
'Microsoft.EntityFrameworkCore.Migrations.PendingModelChangesWarning':
В модель контекста «ContextoDb» ожидаются изменения. Добавьте новую
миграцию перед обновлением базы данных. Это исключение можно
подавить или зарегистрировать, передав идентификатор события
'RelationalEventId.PendingModelChangesWarning' методу
'ConfigureWarnings' в 'DbContext.OnConfiguring' или
'AddDbContext'.< /p>

Теперь первое, что я сделал, это просто попытался отменить мою последнюю миграцию, который только добавил некоторые данные раздачи в таблицу IdentityRole, которая автоматически генерируется через Identity.EntityFrameworkCore, теперь я создал, сначала перенес таблицу с контекстом и всем остальным, а затем понял, что мне нужны некоторые данные раздачи, чтобы работать так, как я хотел в контроллеры.
Поэтому я просто добавил:

Код: Выделить всё

  var roles = new List
{
new IdentityRole
{
Name = "Admin",
NormalizedName = "ADMIN"
},
new IdentityRole
{
Name = "User",
NormalizedName = "USER"
}
};

modelBuilder.Entity().HasData(roles);
В AppContext: теперь добавление миграции работает правильно, проблема возникает при обновлении базы данных. Появляется ошибка.
Я пробовал просто отменить все мои миграции и удалить папку миграций.
Когда это не сработало, я попробовал сделать это с совершенно другим БД. Размышление Возможно, это как-то связано с попыткой реализовать сеялку после создания таблицы.
Но это тоже не сработало. Теперь я понимаю, что в сообщении об ошибке указано, что я могу игнорировать это предупреждение. Что я и сделал. Добавляю:

Код: Выделить всё

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.ConfigureWarnings(warnings =>
warnings.Ignore(RelationalEventId.PendingModelChangesWarning));
}
К AppContext... Я не совсем уверен, правильный ли это способ справиться с этой проблемой и какие последствия или осложнения мне придется обходить в будущем.
p>
Итак, если кто-нибудь знает, почему появляется эта ошибка. Любой способ исправить это более безопасным способом, я был бы более чем рад узнать об этом.
Если это что-то значит, то это полный AppContext:

Код: Выделить всё

 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Каковы последствия подавления предупреждения PendingModelChangesWarning EF Core?
    Anonymous » » в форуме C#
    0 Ответы
    41 Просмотры
    Последнее сообщение Anonymous
  • Каковы последствия подавления предупреждения PendingModelChangesWarning EF Core?
    Anonymous » » в форуме C#
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Каковы последствия подавления предупреждения PendingModelChangesWarning EF Core?
    Anonymous » » в форуме C#
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Каковы последствия подавления ef Core's Pending Modelchangeswarning?
    Anonymous » » в форуме C#
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Каковы последствия подавления ef Core's Pending Modelchangeswarning?
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»