0

良い一日。MSSQL2008 データベースがあります。そして、既存のテーブル (VLAN) の 1 つに対して適切なモデルを作成しました。

public DbSet<VLAN> VLANs { get; set; }

VLAN モデルには次のフィールドがあります。

[Key][Required]
public int VLAN_ID { get; set; } //in the "VLAN" table it is PK
...

次に、新しい値を挿入しようとします

_db.VLANs.Add(VLANToEdit); //<-- Here VLANToEdit has VLANToEdit.VLAN_ID == 144. No such data in the table
_db.SaveChanges(); //<--Here I got an exception.

MSSQL は VLAN_ID フィールドに NULL 値を挿入できません。しかし、なぜ?実際の値を渡しますが、null ですか? どうしたの?次のメッセージが表示されます。

「列 'VLAN_ID'、テーブル 'VMMExt.dbo.VLANs' に値 NULL を挿入できません。列は NULL を許可しません。INSERT は失敗します。\r\nステートメントは終了しました。」ストリング

[Key] 属性を削除すると、VLAN テーブルにキー フィールドがないことについて、他の場所でエラーが発生しました。

これを修正して、提供された主キー値を強制的に挿入するにはどうすればよいですか?

4

1 に答える 1

1

このサイトでの深い検索に感謝します! 私はここでそれを見つけました: C# .NET 4.0 MVC Inserting a record with primary key

必要なのは、モデルに属性を追加することだけでした: [DatabaseGenerated(DatabaseGeneratedOption.None)]

あなたは私の質問を削除するかもしれません。ありがとう!

于 2012-07-24T12:12:33.180 に答える