NHibernate列替代映射

时间:2015-02-20 10:44:15

标签: nhibernate fluent-nhibernate nhibernate-mapping

我有表格后缀为

的表格列
create table T1234_DATA (CHANGEUSER_1234 nvarchar(50), ...)

对于表格,我写了流利的映射。直接使用时,它工作正常,但有(由于某些历史原因)许多视图或存储过程是通用suffic _0001的别名列:

create view v1234_DATA as select CHANGEUSER_1234 as CHANGEUSER_0001

每当我想使用这样的视图时,我必须再次编写完整的类映射。在Fluent或HBM中是否存在某种替代列映射以在所有命名查询之间共享它? sql列名中的通配符,在查询上选择替代类映射,映射到单个属性的多个sql列等?

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,加入可以解决问题。 如你所见:
NHibernate Mapping - <join/>
How to join table in fluent nhibernate

或许您可以使用公式(或某些公式),如:

public class UserMap : ClassMap<User> {
    public User() {
        Table("TB_USER");
        Id(x => x.Id).GeneratedBy.Identity();
        Map(x => x.ChangeUser1234, "CHANGEUSER_1234");

        Map(x => x.ChangeUser0001)
            .Formula("(select CHANGEUSER_0001 from TABLE where ...)");
    }
}