【发布时间】:2012-12-05 14:32:31
【问题描述】:
我有以下课程:
public abstract class AbstractFoo
{
public virtual int Id { get; set; }
}
public class Foo : AbstractFoo
{
public virtual string MyProp {get; set; }
}
我在我的休眠映射文件中表示它:
<class name="AbstractFoo">
<id name="Id">
<generator class="native" />
</id>
<discriminator column="FooType" type="String" />
<subclass name="Foo" discriminator-value="MoveFile">
<property name="MyProp" />
</subclass>
</class>
从这一点来看,它工作正常。
我想做的是将子类中的每个属性存储为元数据。我的意思是我想将它序列化并将其存储为 xml,这样我就可以拥有尽可能多的子类,而无需为每个子类创建一个表,也没有很多不会使用的列。
谢谢。
【问题讨论】:
-
您知道其中的含义吗?这样查询几乎是不可能的,理解和调试将更加困难。在不同的子类中重用列可能更有效且更容易理解
-
是的,我理解这句话的含义。我的目的不是查询我序列化的属性,它只是参数。
标签: c# nhibernate subclass