派生类中的对象引用数据库中的基类,而不是派生类
本文关键字:派生 数据库 对象引用 基类 | 更新日期: 2023-09-27 18:35:18
(当我说一条记录"有"另一条记录时,我的意思是另一条记录引用了第一条记录)。
我有以下数据库关系:
表
基本答案记录基本答案 -> 多项选择答案 -> 多项选择答案文化
可以具有多项选择答案记录。对于每个"多项选择答案",都有几条"区域性"记录:
记录
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)
}
}
在我们的一个项目中,我们还有另一个与此类似的示例,即使我正在研究它,它仍然会继续插入 BaseAnswer 的主键作为引用,而不是 MultipleChoiceAnswer 的主键,在 MultipleChoiceAnswerCulture 表中。
任何帮助将不胜感激。
好吧,我们已经研究了它,显然我正在处理的代码很可能遇到了同样的问题。我们可能只是继续让 MultipleChoiceAnswerCulture 中的外键毕竟是对根父级的引用。如果有人确实知道如何解决这个问题,如果您将其发布在这里,我将不胜感激。
谢谢。