nhibernate动态绑定一个类

nhibernate动态绑定一个类,nhibernate,interceptor,Nhibernate,Interceptor,我已经读过,并且正在寻找一种方法,在运行时动态更改映射,以便使用一对多依赖于父对象中的值绑定到不同的表 这是我的映射 <bag name="Data" mutable="true" > <key> <column name="Log_Link" /> <column name="channel" /> </key> <one-to-many class="Fluent.Ent

我已经读过,并且正在寻找一种方法,在运行时动态更改映射,以便使用一对多依赖于父对象中的值绑定到不同的表

这是我的映射

 <bag name="Data" mutable="true" >
     <key>
       <column name="Log_Link" />
       <column name="channel" />
     </key>
   <one-to-many class="Fluent.Entities.Meters.FTIMeterChannelData, Poco" entity-name="30" />
 </bag>
现在问题有两个方面


首先,我似乎无法启动这个拦截器,尽管在开始我的会话时声明了它,其次,我是不是完全疯了,这永远不会起作用?

我可以评论第一个问题。当您打开会话时是否正在传递侦听器

config.SetInterceptor(new yourInteceptor());

.........

if (config.Interceptor != null)
{
     session = factory.OpenSession(config.Interceptor);
}
     else
{    
     session = factory.OpenSession();
}

恐怕不行。它似乎不适合笨拙的数据库设计
 class LoggerDataInterceptor : EmptyInterceptor
    {
        public override string GetEntityName(object entity)
        {
            return Convert.ToString("20");
        }
    }
config.SetInterceptor(new yourInteceptor());

.........

if (config.Interceptor != null)
{
     session = factory.OpenSession(config.Interceptor);
}
     else
{    
     session = factory.OpenSession();
}