2010-07-30 511 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; 
}