0

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

我使用以下代码将学生插入数据库:

    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';列不允许空值。INSERT 失败。\r\n语句已终止。” 谁能告诉我为什么?以及如何纠正这一点?

4

1 回答 1

2

StoreGeneratedPattern将您的Id字段更改为None. Identity意味着该值将在数据库中设置,并且由于应用程序中设置的值永远不会传递给数据库。

于 2011-07-08T08:53:23.180 回答