0

私のasp.net mvc4サンプルには、Sampleという名前のテーブルがあり、Name、Dept、およびIdとして3つの列があります。このIDでは、IDとプライマリとして名前とDeptの値を取得し、その値をSampleテーブルに挿入します値 '0' を Id に渡します。そして、「Store update、insert、または delete ステートメントが予期しない行数 (0) に影響しました。エンティティが読み込まれたため、エンティティが変更または削除された可能性があります。 ObjectStateManager エントリを更新してください」。助けてください。

4

2 に答える 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 に答える