2011-11-26 39 views
0

到目前爲止,我用這個代碼來配置一個會話工廠:使用流利,NHibernate和傳統的hbm.xml一起

 Configuration configuration = new Configuration(); 
     configuration.Configure(); 
     SessionFactory = configuration.BuildSessionFactory(); 

現在我加入了一些fluentNhibernate映射類,並使用該代碼來配置:

Configuration configuration = new Configuration(); 
    configuration.Configure(); 
    SessionFactory = configuration.BuildSessionFactory(); 


    SessionFactory = Fluently.Configure(configuration).Mappings(m => 
    { 
     m.FluentMappings.AddFromAssemblyOf<AttachmentLocaionMap>(); 
     m.FluentMappings.AddFromAssemblyOf<AttachmentTypeMap>(); 
     m.FluentMappings.AddFromAssemblyOf<AttachmentMap>(); 
    }).BuildSessionFactory(); 

但我想它覆蓋了舊的XML映射? 現在我想再到添加已有 exmbeded資源的基於XML映射

我該怎麼辦呢?

我看到這個blog,但我不希望添加

configuration.AddXmlFile( 「映射/ Insurance.hbm.xml」); 或 configuration.AddAssembly(...);

爲每個現有的XML(如到現在爲止我dodn't每個ebmbeded資源XML做)

回答

1
SessionFactory = Fluently.Configure(configuration).Mappings(m => 
{ 
    m.FluentMappings.AddFromAssemblyOf<AttachmentLocaionMap>(); 
    m.FluentMappings.AddFromAssemblyOf<AttachmentTypeMap>(); 
    m.FluentMappings.AddFromAssemblyOf<AttachmentMap>(); 
    m.HbmMappings.AddFromAssemblyOf<SomeTypeFromYourAssemblyWithHbmMappings>() 
}).BuildSessionFactory(); 
+0

我不明白這一點。這和我今天做的一樣 –

+0

它對我來說同樣適用於m.HbmMappings.AddFromAssemblyOf。想知道與我們傳遞不同的配置對象到流利的nhibernate有什麼不同。 –

+0

這與你的@EladBenda不一樣。 Dave有'm.HbmMappings.AddFromAssemblyOf ()',你不在你的例子中。 –