Entity framework 在代码优先方法中更新模型属性

Entity framework 在代码优先方法中更新模型属性,entity-framework,code-first,Entity Framework,Code First,我无法更新任何属性的任何属性名称或数据批注 这里是代码 类: public class Student { public Student() { } [Key] public int StudentID { get; set; } public string StudentName { get; set; } public DateTime? DateOfBirth { get; set; } public byt

我无法更新任何属性的任何属性名称或数据批注

这里是代码

public class Student
{
     public Student()
     {

     }
     [Key]
     public int StudentID { get; set; }
     public string StudentName { get; set; }
     public DateTime? DateOfBirth { get; set; }
     public byte[] Photo { get; set; }
     public decimal Height { get; set; }
     public float Weight { get; set; }
     public Standard Standard { get; set; }
}
上下文

public class SchoolContext : DbContext 
{
     public SchoolContext()
      : base("name=SchoolDBConnectionString")
     {

     }

     public DbSet<Student> Students { get; set; }
     public DbSet<Standard> Standards { get; set; }

     protected override void OnModelCreating(DbModelBuilder modelBuilder)
     {
        base.OnModelCreating(modelBuilder);
     }
}
和上下文类(关于模型创建)

modelBuilder.Entity().HasRequired(p=>p.StudentName);
当我运行此程序时,出现错误:

EntityFramework.dll中发生类型为“System.InvalidOperationException”的未处理异常 其他信息:“SchoolContext”上下文的支持模型自数据库创建以来已更改。考虑使用代码第一迁移来更新数据库。

如果我删除数据库并运行此程序,则工作正常。但我不想在属性更改时删除数据库


你能提供一些信息吗。如何更新模型属性?

您可以使用迁移,请参阅我已运行CM>更新数据库-详细信息,然后出现错误:未应用自动迁移,因为这将导致数据丢失。在DBMIGRIONSConfiguration上将AutomaticMigrationDataLossAllowed设置为“true”,以允许应用自动迁移,即使它们可能导致数据丢失。或者,使用带有“-Force”选项的更新数据库,或者构建显式迁移。在CM>Update Database-Force之后,您可以使用迁移,请参阅我已运行CM>Update Database-Verbose,然后出现错误:未应用自动迁移,因为这将导致数据丢失。在DBMIGRIONSConfiguration上将AutomaticMigrationDataLossAllowed设置为“true”,以允许应用自动迁移,即使它们可能导致数据丢失。或者,使用带有“-Force”选项的更新数据库,或者构建显式迁移。CM>更新数据库后-强制然后正常工作
[Required]
 public string StudentName { get; set; } 
modelBuilder.Entity<Student>().HasRequired(p => p.StudentName);