一切工作正常,然后我试图 更新我的一个模型类(应用程序类和更新现在留下评论) ,我将在下面列出; 和繁荣,我有这个丑陋的错误。
自创建数据库以来,支持“ ApplicationDbContext”上下文的模型已经发生了变化。考虑使用代码优先迁移来更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。系统。百科。实体。系统中的 CreateDatabaseIfNot赖以存在的
1.InitializeDatabase(TContext context) at System.Data.Entity.Internal.InternalContext.<>c__DisplayClassf
1.b _ _ e ()。百科。实体。内部。InternalContext.系统的性能初始化操作(操作操作)。百科。实体。内部。InternalContext.PerformDatabaseInitialization () at System.百科。实体。内部。LazyInternalContext.b _ _ 4(InternalContext c) at System.百科。实体。内部。RetryAction1.PerformAction(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action
1操作)。百科。实体。内部。LazyInternalContext.InitializeDatabase () at System.百科。实体。内部。InternalContext.系统中的 GetEntitySetAndBaseTypeForType (类型 entityType)。百科。实体。内部。Linq.在系统中包含(字符串路径)。百科。实体。DbQuery1.Include(String path) at System.Data.Entity.QueryableExtensions.Include[T](IQueryable
1源代码,字符串路径)。百科。实体。可查询扩展。在 Microsoft 中包含[ T,TProperty ](IQueryable1 source, Expression
1路径)。AspNet.身份。实体框架。UserStore6.GetUserAggregateAsync(Expression
1过滤器)。AspNet.身份。实体框架。在 Microsoft 上的 UserStore6.FindByNameAsync(String userName) at Microsoft.AspNet.Identity.UserManager
2.FindByNameAsync (String userName)。AspNet.身份。用户管理器’2。D _ 12.MoveNext ()——-从引发异常的上一个位置的堆栈跟踪的结束——-at System。运行时间。编译服务。任务等待者。系统中的 ThrowForNonSuccess (任务任务)。运行时间。编译服务。任务等待者。ControlPanel 上的 HandleNonSuccess AndDebuggerNotification (任务任务)。韦伯。控制器。D _ _ 2.D 中的 MoveNext () : 项目完整控制面板控制面板。网络控制器 accountcontroller.cs : 第56行
起初 我认为这可能是一个迁移问题,所以我完全删除了数据库,重新启用了迁移,并添加了一个 Init 迁移,并使用
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; }
}
以下是我的身份模型:
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");
}
}