我有一种情况,我有一个基类作为一个实体,然后从其他基类派生另一个实体。 两者都在我的领域和意义,可以单独使用。
public class MyBaseClass
{
int ID { get; set; }
string Name { get; set; }
}
public class MyChildClass
{
string AdditionalField { get; set; }
}
我一直在使用功能NHibernate使用类映射这样既映射:
public class MyBaseClassMap : ClassMap<MyBaseClass>
{
Id("MyBaseClassID");
Map(x => x.Name);
}
public class MyChildClassMap : SubclassMap<MyChildClass>
{
Map(x => x.AdditionalField);
}
这是怎么回事,当我尝试获取基类的副本,它使用了子类的映射。 它,如果它不知道基地和子类,或者它的选择错误映射它之间的区别。 我通过观察SQL语句及其加入到子表,并获取其他列证实了这一点。 任何方式得到它使用正确的地图吗?