我们正在寻求为我们的 EF Code first 数据模型实施版本控制方案。以以下两个模型为例:
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; }
}
这里的想法是一个问题有多种选择。我们想将替代链接到 question's Id
,但不是它的Version
。同样,一个问题可以引用所有QuestionId
与其相等的替代方案Id
。
如何最好地建模?随意更改模型。