And*_*ndy 1 c# nhibernate nhibernate-mapping fluent-nhibernate
我正在尝试将两个域实体映射到同一个表.我们正在为我们的域模型做一个智能实体,所以我们有一个可编辑地址和一个只读地址的概念.我已经使用Classmaps进行了映射,在我们尝试使用NHibernate中的SchemaExport类导出模式之前,一切似乎都很顺利.它错误地说该表已经存在.
我认为这很简单,我只是没有看到.
有任何想法吗?
谢谢
更新
还有一些我未提及的其他事情.我对迄今为止回答的人表示赞赏,但他们并不适合我们.
一个是我们有一个地址表,不包括任何具有地址的实体中的列.
另一个是我们不能使用通用基类.对于可编辑对象,我们有一个超类,它将验证行为添加到子类中.readonly对象虽然不需要这种行为,但不应该有这些行为.
我已经考虑了一个接口,但后来我相信我最终会陷入困境,你可以在这个接口上投射一个只读对象,然后改变它的值(因为大概NHibernate会使用所说的接口来水合对象).
因此,如果有另一种方法来实现这一点,或者如果通过接口进行映射不会出现我所描述的问题,请告诉我.我还在学习NHibernate.
再次感谢!
您可以从schemaexport中排除只读类:
public class ReadonlyAdressMap : ClassMap<ReadonlyAdress>
{
ReadonlyAdressMap()
{
Schemaaction.None();
[...]
}
}
Run Code Online (Sandbox Code Playgroud)