En primer lugar, no he visto este error en ningún otro lugar y supongo que no es una réplica, así que primero lea la situación completa.
Todo estaba funcionando bien, entonces traté de actualizar una de mis clases de modelo (la clase App y la actualización ahora están comentadas) que enumeraré a continuación; y boom tuve este feo error.
El modelo que respalda el contexto 'ApplicationDbContext' ha cambiado desde que se creó la base de datos. Considere usar Code First Migrations para actualizar la base de datos ( http://go.microsoft.com/fwlink/?LinkId=238269 ). en System.Data.Entity.CreateDatabaseIfNotExists
1.InitializeDatabase(TContext context) at System.Data.Entity.Internal.InternalContext.<>c__DisplayClassf
1.b__e () en System.Data.Entity.Internal.InternalContext.PerformInitializationAction (acción de acción) en System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization () en System.Data.EntityInitialization () en System.Data.Entity.Action Internal.LazyInternalContext.b__4 (InternalContext c) en System.Data.Entity.Internal.RetryAction1.PerformAction(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action
1 acción) en System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase () en System.Data.Entity.Internal.InternalContext.GetEntitySetFornd entityType) en System.Data.Entity.Internal.Linq.InternalSet1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet
1.Incluya (ruta de cadena) en System.Data.Entity.Infrastructure.DbQuery1.Include(String path) at System.Data.Entity.QueryableExtensions.Include[T](IQueryable
1 fuente, ruta de cadena) en System.Data.Entity.QueryableExtensions.Include [T, TProperty] (1 source, Expression
ruta IQueryable 1) en Microsoft.AspNet.Identity. EntityFramework.UserStore6.GetUserAggregateAsync(Expression
1 filtro) en Microsoft.AspNet.Identity.EntityFramework.UserStore6.FindByNameAsync(String userName) at Microsoft.AspNet.Identity.UserManager
2.FindByNameAsync (String userName) en Microsoft.AspNet.Identity.UserManager`2.d__12.MoveNext () --- Fin del seguimiento de la pila desde la ubicación anterior donde se lanzó una excepción --- en System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (tarea de tarea) en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (tarea) en ControlPanel.Web.Controllers.AccountController.d : \ Projects \ FULL \ Control Panel \ ControlPanel.Web \ Controllers \ AccountController.cs: línea 56
Al principio pensé que podría ser un problema de migraciones, así que eliminé la base de datos por completo, volví a habilitar las migraciones, agregué una migración de inicio y actualicé la base de datos usando
update-database -force -verbose
Todo va bien sin quejas, sin embargo, cada vez que intento iniciar sesión en mi sitio aparece el error anterior. Hice la migración unas diez veces sin poder resolver el problema.
Aquí están mis clases de dominio (modelos):
public class App
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public virtual int AppId { get; set; }
//[Required]
public virtual string FacebookId { get; set; }
//[Required]
public virtual string Secret { get; set; }
public virtual List<User> Users { get; set; }
public virtual List<Post> Posts { get; set; }
//public virtual ApplicationUser Admin { get; set; }
}
public class Post
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public virtual int PostId { get; set; }
public virtual string Content { get; set; }
public virtual string Link { get; set; }
public virtual string Image { get; set; }
public virtual bool IsSpecial { get; set; }
//[Required]
public virtual App App { get; set; }
//[Required]
public virtual DateTime? PublishDate { get; set; }
}
public class User
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public virtual int UserId { get; set; }
[MaxLength(500)]
public virtual string FacebookId { get; set; }
[MaxLength(500)]
public virtual string Token { get; set; }
//[Required]
public virtual App App { get; set; }
}
Aquí están mis IdentityModels:
public class ApplicationUser : IdentityUser
{
public virtual List<App> Apps { get; set; }
public bool? IsPremium { get; set; }
[DataType(DataType.Date)]
public DateTime? LastPublishDateTime { get; set; }
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("dCon")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<IdentityUser>().ToTable("Admins");
modelBuilder.Entity<ApplicationUser>().ToTable("Admins");
modelBuilder.Entity<IdentityUserRole>().ToTable("AdminRoles");
modelBuilder.Entity<IdentityUserLogin>().ToTable("Logins");
modelBuilder.Entity<IdentityUserClaim>().ToTable("Claims");
modelBuilder.Entity<IdentityRole>().ToTable("Roles");
}
}