C# 派生类中的对象引用数据库中的基类,而不是派生类
(当我说一条记录“有”另一条记录时,我的意思是另一条记录引用了第一条记录) 我有以下数据库关系: 表格 BaseAnswer->MultipleChiiceAnswer->MultipleChiiceAnswerCulture BaseAnswer记录可以有多个EchoiceAnswer记录。对于每个“MultipleChiceAnswer”,都有几个“区域性”记录: 记录 英文标题 法文标题 MultipleChiceAnswer记录有一列引用BaseAnswer的主键,同样,MultipleChiceAnswerCulture中的记录也有一列引用MultipleChiceAnswer的主键。但是,我的问题是,插入到MultipleEchoiceAnswerCulture中的记录引用的是BaseAnswer的主键(根父级,而不是直接父级)。这是我的密码:C# 派生类中的对象引用数据库中的基类,而不是派生类,c#,nhibernate,inheritance,mapping,C#,Nhibernate,Inheritance,Mapping,(当我说一条记录“有”另一条记录时,我的意思是另一条记录引用了第一条记录) 我有以下数据库关系: 表格 BaseAnswer->MultipleChiiceAnswer->MultipleChiiceAnswerCulture BaseAnswer记录可以有多个EchoiceAnswer记录。对于每个“MultipleChiceAnswer”,都有几个“区域性”记录: 记录 英文标题 法文标题 MultipleChiceAnswer记录有一列引用BaseAnswer的主键,同样,Multiple
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)
}
公共类多回音应答器映射:子类映射
{
公共多回音应答器映射()
{
表(“MultipleChiceAnswer”);
KeyColumn(“BaseAnswerID”);
Map(x=>x.Score);
HasMany(x=>x.Resources)
.CollectionType()
.KeyColumn(“多回音应答器ID”)
.Cascade.alldelete孤儿()
.Access.CamelCaseField(前缀.下划线)
}
}
在我们的一个项目中有另一个类似的例子,尽管我正在处理这个问题,但它仍然在multiplechiceanswerculture表中插入BaseAnswer的主键作为引用,而不是multiplechiceanswer的主键
任何帮助都将不胜感激。好吧,我们已经调查过了,显然我正在编写的代码很可能遇到了同样的问题。我们可能会继续,让multipleChiiceAnswerCulture中的外键毕竟是对根父级的引用。如果有人真的知道如何解决这个问题,如果你把它贴在这里,我将不胜感激 谢谢