首先在代码中更新模型属性approch

时间:2016-08-01 11:01:26

标签: entity-framework code-first

我无法为任何属性更新任何属性名称或DataAnnotations。

这里是代码

班级

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);
     }
}

现在我想将StudentName更新为必填字段

我正在尝试下面的代码 更新课程 - &gt;学生

[Required]
 public string StudentName { get; set; } 

和Context Class(OnModelCreating)

modelBuilder.Entity<Student>().HasRequired(p => p.StudentName);

当我运行此程序时,我收到错误:

EntityFramework.dll中出现未处理的“System.InvalidOperationException”类型异常 附加信息:自创建数据库以来,支持“SchoolContext”上下文的模型已更改。请考虑使用Code First Migrations来更新数据库。

如果我删除数据库并运行此程序,那么工作正常。但我不希望删除属性更改数据库。

您能否提供信息?如何更新模型属性?

0 个答案:

没有答案