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増やす必要があります。
しかし、それは起こりません。私が間違っていることをアドバイスしてください。ありがとうございました。