Erstens habe ich diesen Fehler nirgendwo anders gesehen und ich denke, es ist kein Replikat. Bitte lesen Sie zuerst die gesamte Situation.
Alles hat gut funktioniert, dann habe ich versucht, eine meiner Modellklassen zu aktualisieren (die App-Klasse und das Update werden jetzt kommentiert), die ich unten auflisten werde. und boom ich hatte diesen hässlichen fehler.
Das Modell, das den Kontext 'ApplicationDbContext' unterstützt, hat sich seit der Erstellung der Datenbank geändert. Erwägen Sie die Verwendung von Code First Migrations zum Aktualisieren der Datenbank ( http://go.microsoft.com/fwlink/?LinkId=238269 ). unter System.Data.Entity.CreateDatabaseIfNotExists
1.InitializeDatabase(TContext context) at System.Data.Entity.Internal.InternalContext.<>c__DisplayClassf
1.b__e () unter System.Data.Entity.Internal.InternalContext.PerformInitializationAction (Aktionsaktion) unter System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization (). Internal.LazyInternalContext.b__4 (InternalContext c) bei System.Data.Entity.Internal.RetryAction1.PerformAction(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action
1-Aktion) bei System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase () bei System.Data.Entity.Internal.InternalTon entityType) bei System.Data.Entity.Internal.Linq.InternalSet1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet
1.Include (String-Pfad) bei System.Data.Entity.Infrastructure.DbQuery1.Include(String path) at System.Data.Entity.QueryableExtensions.Include[T](IQueryable
1-Quelle, String-Pfad) bei System.Data.Entity.QueryableExtensions.Include [T, TProperty] (IQueryable1 source, Expression
1-Pfad) bei Microsoft.AspNet.Identity. EntityFramework.UserStore6.GetUserAggregateAsync(Expression
1-Filter) bei Microsoft.AspNet.Identity.EntityFramework.UserStore6.FindByNameAsync(String userName) at Microsoft.AspNet.Identity.UserManager
2.FindByNameAsync (String userName) bei Microsoft.AspNet.Identity.UserManager`2.d__12.MoveNext () --- Ende der Stapelverfolgung vom vorherigen Speicherort wo Ausnahme wurde ausgelöst --- bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Task-Task) bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Task-Task) bei ControlPanel.Web.Controllers.Axtount : \ Projects \ FULL \ Control Panel \ ControlPanel.Web \ Controllers \ AccountController.cs: Zeile 56
Zuerst dachte ich, es könnte sich um ein Migrationsproblem handeln, also habe ich die Datenbank vollständig gelöscht, die Migrationen wieder aktiviert, eine Init-Migration hinzugefügt und die Datenbank mithilfe von aktualisiert
update-database -force -verbose
Ohne Beschwerden läuft alles gut, aber wenn ich versuche, mich auf meiner Website anzumelden, wird der vorherige Fehler angezeigt. Ich habe die Migrationssache ungefähr zehn Mal durchgeführt, ohne das Problem lösen zu können.
Hier sind meine Domainklassen (Modelle):
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; }
}
Hier sind meine 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");
}
}