私のasp.net mvc4サンプルには、Sampleという名前のテーブルがあり、Name、Dept、およびIdとして3つの列があります。このIDでは、IDとプライマリとして名前とDeptの値を取得し、その値をSampleテーブルに挿入します値 '0' を Id に渡します。そして、「Store update、insert、または delete ステートメントが予期しない行数 (0) に影響しました。エンティティが読み込まれたため、エンティティが変更または削除された可能性があります。 ObjectStateManager エントリを更新してください」。助けてください。
1076 次
2 に答える
0
EF コード ファーストでは、これはデータ注釈によって行われます。スキームを変更した後は、必ずテーブル (またはデータベース) を再作成してください。
public class Sample
{
[Key]
[Required]
[Column(Order = 0)]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] //auto increment id
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
public int Dept { get; set; }
}
Id に整数を渡す必要はありません。EF はこれを自動的に解決します。名前と部門を入力してオブジェクトを作成するだけです。変更をデータベースに保存することにより、EF は自動生成された ID を自動的に入力します。
于 2013-08-12T14:40:51.860 に答える
0
列に設定"autoincrement"
し、IDをSQLサーバーの主キーとして設定します..
于 2013-08-12T10:07:12.713 に答える