使用实体框架继承时插入失败



我有两个表,一个名为Person,它是抽象的,具有标量属性"Id"one_answers"Name",其中键"Id"是主键。另一个名为"Student"继承自Person

我使用下面的代码插入一个学生到db:

    TestModeContainer testModel = new TestModeContainer();
    Student student = testModel.CreateObject<Student>();
    student.Id = "s1";
    student.Grade = "g2";
    student.Name = "Lighter.Spark";
    testModel.AddObject("PersonSet", s);
    testModel.SaveChanges();

当我调用SaveChanges将数据保存到数据库时,发生了System.Data.UpdateException。内部异常说"不能插入值NULL到列'Id',表'Temp.dbo.PersonSet';列不允许为空。插入失败。rn语句已被终止。"谁能告诉我为什么?如何纠正这一点呢?

Id字段的StoreGeneratedPattern更改为NoneIdentity意味着值将在数据库中设置,因为应用程序中设置的值永远不会传递给数据库。

相关内容

  • 没有找到相关文章

最新更新