ก่อนอื่นฉันไม่เห็นข้อผิดพลาดนี้ที่อื่นและฉันคิดว่าไม่ใช่การจำลองแบบดังนั้นโปรดอ่านสถานการณ์ทั้งหมดก่อน
ทุกอย่างทำงานได้ดีจากนั้นฉันพยายามอัปเดตคลาสโมเดลหนึ่งของฉัน ( คลาสแอพและการอัปเดตจะแสดงความคิดเห็น) ซึ่งฉันจะแสดงรายการด้านล่าง และบูมฉันมีข้อผิดพลาดที่น่าเกลียดนี้
โมเดลที่สำรองบริบท 'ApplicationDbContext' มีการเปลี่ยนแปลงตั้งแต่สร้างฐานข้อมูล พิจารณาใช้ Code First Migrations เพื่ออัปเดตฐานข้อมูล ( http://go.microsoft.com/fwlink/?LinkId=238269 ) ใน System.Data.Entity.CreateDatabaseIfNotExists
1.InitializeDatabase(TContext context) at System.Data.Entity.Internal.InternalContext.<>c__DisplayClassf
1.b__e () ที่ System.Data.Entity.Internal.InternalContext.PerformInitializationAction (การดำเนินการดำเนินการ) ที่ System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization () ที่ System.Data.Entity Internal.LazyInternalContext.b__4 (InternalContext c) ที่1.PerformAction(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action
การดำเนินการSystem.Data.Entity.Internal.RetryAction 1) ที่ System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase () ที่ System.Data.Entity.Internal.InternalContext entityType) ที่ System.Data.Entity.Internal.Linq.InternalSet1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet
1. รวม (เส้นทางสตริง) ที่ System.Data.Entity.Infrastructure.DbQuery1.Include(String path) at System.Data.Entity.QueryableExtensions.Include[T](IQueryable
1 source, String path) ที่ System.Data.Entity.QueryableExtensions รวม [T, TProperty] (IQueryable1 source, Expression
1 พา ธ ) ที่ Microsoft.AspNet.Identity EntityFramework.UserStore6.GetUserAggregateAsync(Expression
1 filter) ที่ Microsoft.AspNet.Identity.EntityFramework.UserStore6.FindByNameAsync(String userName) at Microsoft.AspNet.Identity.UserManager
2.FindByNameAsync (String userName) ที่ Microsoft.AspNet.Identity.UserManager`2.d__12.MoveNext () --- สิ้นสุดการติดตามสแต็กจากตำแหน่งก่อนหน้าโดยที่ ข้อยกเว้นถูกโยนทิ้ง - ที่ System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (งานภารกิจ) ที่ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (งานภารกิจ) ที่ ControlPanel.Web.Controllers.AccountController.d__2.MoveNext () ใน d : \ Projects \ FULL \ Control Panel \ ControlPanel.Web \ Controllers \ AccountController.cs: บรรทัดที่ 56
ตอนแรกฉันคิดว่าอาจเป็นปัญหาการย้ายข้อมูลดังนั้นฉันจึงทิ้งฐานข้อมูลทั้งหมดเปิดใช้งานการย้ายข้อมูลอีกครั้งและเพิ่มการย้ายข้อมูลเริ่มต้นและอัปเดตฐานข้อมูลโดยใช้
update-database -force -verbose
ทุกอย่างเป็นไปด้วยดีโดยไม่มีข้อร้องเรียนอย่างไรก็ตามเมื่อใดก็ตามที่ฉันพยายามเข้าสู่ไซต์ของฉันฉันได้รับข้อผิดพลาดก่อนหน้านี้ ฉันทำการโยกย้ายประมาณสิบครั้งโดยไม่สามารถแก้ปัญหาได้
นี่คือคลาสโดเมนของฉัน (แบบจำลอง):
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; }
}
นี่คือ 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");
}
}