2010-07-30 325 views
0

我是DRY的忠实信徒,所以在使用流利的nhibernate设置ClassMap对象之后,如何在不使用Nhibernate的代码中使用这些映射?Consuming Nhibernate映射

编辑︰例如,我有一个映射的类,但也使用存储过程来填充本身,它的孩子(和他们的孩子)在一次数据库调用。从数据读取器填充对象时,最好在ClassMap中使用该属性进行列映射。

+0

你能提供一个你想如何使用它们的例子吗? – 2010-07-30 15:26:51

回答

0

也许这是你可能会想:

我来到了这个在一个非常快速视图。检查变量klass变量。我很抱歉没有正确测试它。

public static ISessionFactory CreateSessionFactory() 
{ 
    return Fluently 
     .Configure() 
     .Database(MsSqlConfiguration.MsSql2008.ConnectionString(@"Server=SPO00615\SQLEXPRESS;Database=BOB;Integrated Security=true; ")) 
     .Mappings(m => GetClassFrom(m)) 
     .BuildSessionFactory(); 
} 

private static FluentMappingsContainer GetClassFrom(MappingConfiguration m) 
{ 
    FluentMappingsContainer container = 
     m.FluentMappings.AddFromAssemblyOf<FactoryTests>(); 

    var maps = container.PersistenceModel.BuildMappings(); 

    foreach (var map in maps) 
    { 
     var klass = map.Classes.GetEnumerator().Current; 
    } 

    return container; 
}