Возникла проблема, когда в моих таблицах базы данных отсутствуют ключи и индексы, которые явно присутствуют в текущем снимке модели.
Моя база данных полностью обновлена с учетом последней миграции и сообщает, что не будет никаких изменений, если я попытаюсь создать новую миграцию.
Я не уверен в том, что они не совпадают, и я стараюсь не начинать заново при первоначальном создании.
Сокращение кода для целей объяснения, но есть несколько таблиц с одинаковой проблемой. В приведенном ниже коде вы можете видеть, что имеется HasKey (), а также HasIndex (), однако ни один из них не существует в таблице в базе данных.
Я попытался отменить миграцию и обновление-миграцию обратно до текущей миграции, но это дает те же результаты.
Edit: я не упомянул, что это только кажется, проблема с таблицами Identity. Мои пользовательские таблицы имеют ключи и индексы.
modelBuilder.Entity("MyProject.Models.AspNetUsers", b =>
{
b.Property<string>("Id");
b.Property<int>("AccessFailedCount");
b.Property<string>("ConcurrencyStamp");
b.Property<string>("Email")
.HasMaxLength(256);
b.Property<bool>("EmailConfirmed");
b.Property<bool>("LockoutEnabled");
b.Property<DateTimeOffset?>("LockoutEnd");
b.Property<string>("NormalizedEmail")
.HasMaxLength(256);
b.Property<string>("NormalizedUserName")
.HasMaxLength(256);
b.Property<string>("PasswordHash");
b.Property<string>("Permissions")
.HasMaxLength(50)
.IsUnicode(false);
b.Property<string>("PhoneNumber");
b.Property<bool>("PhoneNumberConfirmed");
b.Property<string>("PortalPath");
b.Property<string>("SecurityStamp");
b.Property<bool>("TwoFactorEnabled");
b.Property<string>("UserName")
.HasMaxLength(256);
b.HasKey("Id");
b.HasIndex("NormalizedEmail")
.HasName("EmailIndex");
b.HasIndex("NormalizedUserName")
.IsUnique()
.HasName("UserNameIndex")
.HasFilter("([NormalizedUserName] IS NOT NULL)");
b.ToTable("AspNetUsers");
});