假设数据库模式是固定的,我会将它们映射为3个独立的类,并将它们映射为公共接口
any
参考文献。
class Foo
{
public virtual IProfile Profile { get; set; }
}
public class FooMap : ClassMap<Foo>
{
public FooMap()
{
ReferencesAny(m => m.Profile)
.EntityTypeColumn("ProfileType")
.EntityIdentifierColumn("ProfileId")
.AddMetaValue<CityProfile>("CityProfile")
.AddMetaValue<CountryProfile>("CountryProfile")
.AddMetaValue<RegionProfile>("RegionProfile")
.IdentityType<int>();
}
}