我做了一个Reveres代码Eng inner,首先使用MYSQL DB的EF电源工具生成代码 我可以很好地阅读表格。 当我试图保存任何东西时,我会在下面得到例外。我没有设置这个字段,也没有在我的解决方案中有这个字段名称。
ProjectContext db = new ProjectContext();
Person person = new Person();
person.UpdatedAt = DateTime.Now;
person.UserId = 1;
person.PersonName = "test";
db.Persones.Add(person);
db.SaveChanges();
{"Unknown column 'Discriminator' in 'field list'"}
修改 我注意到我有另一个继承这个类的课程
公共班学生:人 {
}
当我删除它继承时,它工作。 但有谁知道为什么? 任何想法?
答案 0 :(得分:4)
问题是当你有一个继承自其他的类时会自动添加这个字段。这个字段被使用,因此EF可以知道女巫记录代表学生和女巫记录只是人。
This article提到的soadyp更好地解释了这一点。
使用codefirst创建的模型默认使用TPH。