EF Code ファースト データ モデルのバージョン管理スキームの実装を検討しています。例として、次の 2 つのモデルを取り上げます。
public class Question
{
public int Id { get; set; }
public int Version { get; set; }
public string Text { get; set; }
public ICollection<Alternative> Alternatives { get; set; }
}
public class Alternative
{
public int Id { get; set; }
public int Version { get; set; }
public string Text { get; set; }
public bool IsCorrect { get; set; }
public int QuestionId { get; set; }
public virtual Question Question { get; set; }
}
ここでの考え方は、質問には複数の選択肢があるということです。代替案を質問の にリンクしたいが、Id
その にはリンクしたくないVersion
。同様に、質問は、QuestionId
その と等しいすべての選択肢への参照を取得できますId
。
これをどのようにモデル化するのが最適でしょうか? 機種変更はご自由にどうぞ。