1

POCOを使用してコードファーストのEntityFrameworkアプリを作成しています。簡略化されたバージョンは次のとおりです。

私はこのエンティティを定義しました:

public class Respondent
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int RespondentId { get; set; }

    [Display(Name = "Your Name")]
    public string Name { get; set; }
}

このエンティティは、テーブルを作成するために使用されます。

public class MyContext : DbContext
{
    public DbSet<Respondent> Respondents { get; set; }
}

このエンティティを含むビューモデルも定義しました。

public class SurveyModel
{
    public Respondent Respondent { get; set; }
}

さて、コードで:

var survey = new SurveyModel();
survey.Respondent = new Respondent();

DBに書き込む必要がある場合:

private MyContext db = new MyContext();

// HERE, after this line, SHOULD survey.Respondent.RespondentId be +1 ??
// Or only when I call db.SaveChanges() ??
db.Respondents.Add(survey.Respondent); 

現時点では、survey.Respondent.RespondentIdは、対応する属性を使用してIDENTITYとして定義されているため、1増やす必要があります。

しかし、それは起こりません。私が間違っていることをアドバイスしてください。ありがとうございました。

4

1 に答える 1

2

データベースに保存するには、db.SaveChanges() を呼び出す必要があります。

于 2012-12-13T20:13:58.143 に答える