EF无法识别新属性

时间:2018-11-23 19:13:47

标签: c# entity-framework model

上周,我为此项目创建了模型,但本周需要对其进行更新。首先,我的“人物”类仅具有“名称”属性,而现在具有“名字”和“姓氏”属性。现在,我得到了有关“名称”属性的异常,该异常甚至不再存在。

也没有创建数据库,这很可能是随后的错误。

班级成员

abstract class Person
{
    [Key]
    public int Id { get; set; }

    [MaxLength(100)]
    public string Firstname { get; set; }

    [MaxLength(100)]
    public string Lastname { get; set; }

    public int Age { get; set; }
}

班级学生

class Student : Person
{
    public School School { get; set; }

    public virtual ICollection<Order> Orders { get; set; } = new List<Order>();
}

尝试添加学生

using (var ctx = new SchoolDbContext())
        {
            ctx.Persons.Add(new Student() {Firstname="Test" });
            ctx.SaveChanges();
        }

DBContext

class SchoolDbContext : DbContext
{
    public SchoolDbContext() : base("SchoolDB")
    {

    }

    public DbSet<Person> Persons { get; set; }
    public DbSet<School> Schools { get; set; }
    public DbSet<AArticle> Articles { get; set; }
    public DbSet<APublisher> APublishers { get; set; }
    public DbSet<Order> Orders { get; set; }
    public DbSet<Subject> Subjects { get; set; }

}

例外

System.InvalidOperationException:“属性'Name'不是字符串或字节数组。只能为字符串和字节数组属性配置长度。”

我尝试清理解决方案,重新启动VS,重建并重新清理...无法删除数据库,因为未创建任何数据库。

我如何通知编译器“名称”属性不再存在,因为他自己没有得到该属性?

1 个答案:

答案 0 :(得分:0)