Trước hết, tôi chưa thấy lỗi này ở bất kỳ nơi nào khác và tôi đoán nó không phải là một bản sao vì vậy hãy đọc toàn bộ tình huống trước.
Mọi thứ đều hoạt động tốt sau đó tôi đã cố gắng cập nhật một trong các lớp mô hình của mình ( lớp Ứng dụng và bản cập nhật hiện được để lại bình luận) mà tôi sẽ liệt kê bên dưới; và bùng nổ, tôi đã mắc phải lỗi xấu xí này.
Mô hình hỗ trợ ngữ cảnh 'ApplicationDbContext' đã thay đổi kể từ khi cơ sở dữ liệu được tạo. Cân nhắc sử dụng Code First Migrations để cập nhật cơ sở dữ liệu ( http://go.microsoft.com/fwlink/?LinkId=238269 ). tại System.Data.Entity.CreateDatabaseIfNotExists
1.InitializeDatabase(TContext context) at System.Data.Entity.Internal.InternalContext.<>c__DisplayClassf
1.b__e () tại System.Data.Entity.Internal.InternalContext.PerformInitializationAction (Hành động tác vụ) tại System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization () tại System.Data.Entity. Internal.LazyInternalContext.b__4 (InternalContext c) tại1.PerformAction(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action
hành động System.Data.Entity.Internal.RetryAction 1) tại System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase () tại System.Data.Entity.Internal.InternalContext.GetEntityType entityType) tại System.Data.Entity.Internal.Linq.InternalSet1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet
1.Include (String đường dẫn) tại System.Data.Entity.Infrastructure.DbQuery1.Include(String path) at System.Data.Entity.QueryableExtensions.Include[T](IQueryable
1 nguồn, String đường dẫn) tại System.Data.Entity.QueryableExtensions.Include [T, TProperty] (IQueryable1 source, Expression
1 con đường) tại Microsoft.AspNet.Identity. EntityFramework.UserStore6.GetUserAggregateAsync(Expression
1 lọc) tại Microsoft.AspNet.Identity.EntityFramework.UserStore6.FindByNameAsync(String userName) at Microsoft.AspNet.Identity.UserManager
2.FindByNameAsync (string userName) tại Microsoft.AspNet.Identity.UserManager`2.d__12.MoveNext () --- End của stack trace từ vị trí trước đó ngoại lệ đã được ném --- tại System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Tác vụ nhiệm vụ) tại System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Tác vụ nhiệm vụ) tại ControlPanel.Web.Controllers.AccountController.d__2.MoveNext. : \ Projects \ FULL \ Control Panel \ ControlPanel.Web \ Controllers \ AccountController.cs: dòng 56
Lúc đầu, tôi nghĩ rằng đó có thể là sự cố di chuyển, vì vậy tôi đã loại bỏ hoàn toàn cơ sở dữ liệu, bật lại quá trình di chuyển và thêm một di chuyển Init và cập nhật cơ sở dữ liệu bằng cách sử dụng
update-database -force -verbose
Mọi thứ diễn ra tốt đẹp không có gì phàn nàn, tuy nhiên, bất cứ khi nào tôi cố gắng đăng nhập vào trang web của mình, tôi đều gặp lỗi trước đó. Tôi đã thực hiện việc di chuyển khoảng mười lần mà không thể giải quyết vấn đề.
Đây là các lớp miền của tôi (mô hình):
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; }
}
Đây là IdentityModels của tôi:
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");
}
}