Fluent nhibernate 基于子类型映射到其他视图
所以我有一种情况,我有公共的基类型,但我需要根据子类型映射到不同的视图 看起来我可以使用泛型映射类来处理继承 但是如何根据子类型有条件地映射到不同的视图呢?我看到一个EntityType属性,但它表示它已过时,并将在下一个版本中变为私有Fluent nhibernate 基于子类型映射到其他视图,fluent-nhibernate,fluent-nhibernate-mapping,Fluent Nhibernate,Fluent Nhibernate Mapping,所以我有一种情况,我有公共的基类型,但我需要根据子类型映射到不同的视图 看起来我可以使用泛型映射类来处理继承 但是如何根据子类型有条件地映射到不同的视图呢?我看到一个EntityType属性,但它表示它已过时,并将在下一个版本中变为私有 例如,我有一个ContactInfo基类,它在联系人类型之间是标准的,但值来自不同的位置,具体取决于联系人类型,我将通过sql视图来处理这个问题。使用任何映射,引用的实体来自不同的表 class ContactInfo { public virtual
例如,我有一个ContactInfo基类,它在联系人类型之间是标准的,但值来自不同的位置,具体取决于联系人类型,我将通过sql视图来处理这个问题。使用任何映射,引用的实体来自不同的表
class ContactInfo
{
public virtual long Id { get; set; }
public virtual ContactDetails Details { get; set; }
}
public ContactInfoMap
{
...
ReferencesAny(x => x.Details)
.EntityIdentifierColumn("details_id")
.EntityTypeColumn("contactType")
.IdentityType<long>()
.AddMetaValue<FooContactDetails>("1")
.AddMetaValue<BarContactDetails>("4");
}
class ContactInfo
{
公共虚拟长Id{get;set;}
公共虚拟联系人详细信息{get;set;}
}
公共联系人信息地图
{
...
引用任意(x=>x.Details)
.EntityIdentifierColumn(“详细信息”)
.EntityTypeColumn(“contactType”)
.IdentityType()
.AddMetaValue(“1”)
.AddMetaValue(“4”);
}
我只是为每个实体复制了代码。这意味着每种类型都有一张地图