Я в процессе обновления от простого членства до Identity 2.0 в моем существующем веб-проекте. Некоторые из больших изменений, которые связаны с инфраструктурой сущностей, - это наследование DBContext и UserProfiles, изменяющееся на «Пользователи».История миграции Entity Framework не распознается после обновления Identity 2.0?
Я использую PMC для добавления миграции и обновления базы данных, а не для автоматического переноса во время выполнения.
Ожидается, что после того, как мой код изменится для доступа к Identity 2.0, я добавлю переход, и он сгенерирует изменения схемы в моей папке миграции.
По какой-то причине он больше не распознает существующую таблицу истории миграции в текущем db! Когда я запускаю add-migration, он говорит, что существуют существующие миграции, которые не применяются, и что я должен сначала запустить базу данных обновлений. Я запускаю update-database -script, чтобы увидеть, что он пытался сделать, и он хочет создать таблицу истории миграции и каждую миграцию в моем проекте.
Кажется, что некоторая таблица истории миграции больше не распознается. Я запускал get-migrations, чтобы подтвердить, что он разговаривает с правильной базой данных, и это было, но миграция не применялась.
Запуск Entity Framework 6.1.1
Любые предложения?
internal sealed class Configuration : DbMigrationsConfiguration<Namespace.MyContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = false;
}
protected override void Seed(Namespace.MyContext context)
{
//Stuff to initialize an empty db
}
public class UserProfile : IdentityUser<int, CustomIdentityUserLogin, CustomIdentityUserRole, CustomIdentityUserClaim>, IUser<int>
{
[Required]
public string Name { get; set; }
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<UserProfile, int> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}
//other properties related to the user profile
}
Edit 2:
В качестве теста, я удалил migrationhistory таблицу, побежал "обновление базы данных--targetmigration mostcurrentmigraiton -script", а затем удаляются все изменения в миграционной истории с исключением сценарий, запустил скрипт. Затем я попытался получить миграцию, и не появилось «никаких миграций, примененных к целевой базе данных». Я подтвердил, что он создал таблицу, а версия продукта обновилась для предыдущих миграций, где они были старше. Пожалуйста, помогите!
Пожалуйста, разместите свои 'Configuration/Migrations.cs' и' IdentityModels.cs'. – Yoda
@Yoda Я отредактировал мое сообщение с тем, что вы запросили, спасибо! – Csharpfunbag