(当我说一条记录“有”另一条记录时,我的意思是另一条记录引用了第一条记录)。
我有以下数据库关系:
表
BaseAnswer -> MultipleChoiceAnswer -> MultipleChoiceAnswerCulture
BaseAnswer 记录可以有一个 MultipleChoiceAnswer 记录。对于每个“MultipleChoiceAnswer”,都有几个“Culture”记录:
记录
英文标题
法语标题
MultipleChoiceAnswer 记录有一个引用 BaseAnswer 主键的列,同样,MultipleChoiceAnswerCulture 中的记录有一个应该引用 MultipleChoiceAnswer 主键的列。但是,我的问题是插入到 MultipleChoiceAnswerCulture 的记录是指 BaseAnswer 的主键(根父级,而不是直接父级)。这是我的代码:
public class MultipleChoiceAnswerMap : SubclassMap<MultipleChoiceAnswer>
{
public MultipleChoiceAnswerMap()
{
Table("MultipleChoiceAnswer");
KeyColumn("BaseAnswerID");
Map(x => x.Score);
HasMany(x => x.Resources)
.CollectionType<ResourceMapSetUserType<MultipleChoiceAnswerCulture>>()
.KeyColumn("MultipleChoiceAnswerID")
.Cascade.AllDeleteOrphan()
.Access.CamelCaseField(Prefix.Underscore)
}
}
我们的一个项目中有另一个与此类似的示例,即使我正在解决这个问题,这仍然会在 MultipleChoiceAnswerCulture 表中插入 BaseAnswer 的主键作为参考,而不是 MultipleChoiceAnswer 的主键。
任何帮助,将不胜感激。