2010-11-03 37 views

回答

4

SharpArchitecture使用FluentNHibernate自動創建基於項目PROJECT.Core中定義的實體的NHibernate映射。它將基於域模型定義關係。你會發現你經常需要定製你的映射。

項目PROJECT.Data是您將執行覆蓋默認映射的位置。在這個項目中,您將找到一個名爲NHibernateMaps的文件夾,其中包含幾個類來設置默認映射策略。步驟1將評估默認映射策略,以查看是否需要對默認策略進行任何系統範圍的更改。其次,您可能想要覆蓋特定實體的映射。要做到這一點創建一個名爲[EntityClass]地圖新類,如下所示:

public class EntityMap : IAutoMappingOverride<Entity> { 

    public void Override(AutoMapping<Entity> mapping) { 
    //use the mapping. to override default mappings. Here is just an example 
    mapping.References(x => x.EntityCategory).Fetch.Join(); 
    mapping.References(x => x.EntitySubItem).NotFound.Ignore(); 
    } 
} 

您的應用程序的關係這一切起來的的global.asax.cs內InitializeNHibernateSession方法。

+0

感謝您的回答。如果我要在兩個實體之間創建關係,那麼我應該通過t4實體生成在域模型中執行它,還是應該覆蓋默認映射? – Dofs 2010-11-03 18:15:56

相關問題