0

2 つのテーブルがあります。1 つは抽象的で、スカラー プロパティ「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 が発生しました。内部例外は、「列 'Id'、テーブル 'Temp.dbo.PersonSet' に値 NULL を挿入できません。列は NULL を許可しません。INSERT は失敗します。\r\nステートメントは終了しました。」誰が理由を教えてくれますか? そして、これを修正する方法は?

4

1 に答える 1

2

フィールドの を に変更StoreGeneratedPatternします。値がデータベースに設定され、アプリケーションに設定された値がデータベースに渡されないため、値がデータベースに渡されないことを意味します。IdNoneIdentity

于 2011-07-08T08:53:23.180 に答える