nhibernate映射实现接口的类

时间:2015-07-01 16:20:54

标签: c# asp.net-mvc nhibernate fluent-nhibernate

在NHibernate中,是否有可能有一个实现接口(或扩展一个类)的类,但是nhibernate可以忽略这种关系?并且只是映射子类,就好像它与超类或接口没有关系一样?

原因是我有一些控制器逻辑,如果我的一些类共享一个接口或超类,它会更好更清洁,但我的数据库已经为这些类中的每一个设置了超类或界面,我希望保持这种方式

示例:

class IMyInterface {
 //stuff
}
class One : IMyInterface {

}
class Two : IMyInterface {

}

我希望class oneclass two都映射到数据库,就好像它们是两个与IMyInterface无关的独立实体

我的一个映射示例:

public class ClientMap : ClassMap<Client> {

    public ClientMap() {
        Schema("ea_schema");
        Table("nts_client");
        LazyLoad();
        Id(x => x.ClientId).GeneratedBy.Identity().Column("nts_client_id");
        //References(x => x.Path).Column("path_id");
        Map(x => x.NewClientId).Column("new_client_id");
        HasMany(x => x.Trades).KeyColumn("nts_client_id");
        Map(x => x.IsDeleted).Column("is_deleted");
        Map(x => x.IsDisabled).Column("is_disabled");
        References(x => x.OrgInfo).Column("org_info_id").Cascade.SaveUpdate().Not.LazyLoad();
    }
}

0 个答案:

没有答案