0
我正在關注sharparchitecture.net上的教程。我已經創建了幾個使用T4的實體,但我無法弄清楚到數據庫的映射是在哪裏完成的?我在哪裏可以在SharpArchitechture項目中創建映射文件
我想在映射文件中創建一些關係,但是我應該添加一個新的映射文件還是已經創建了一個T4?
我正在關注sharparchitecture.net上的教程。我已經創建了幾個使用T4的實體,但我無法弄清楚到數據庫的映射是在哪裏完成的?我在哪裏可以在SharpArchitechture項目中創建映射文件
我想在映射文件中創建一些關係,但是我應該添加一個新的映射文件還是已經創建了一個T4?
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方法。
感謝您的回答。如果我要在兩個實體之間創建關係,那麼我應該通過t4實體生成在域模型中執行它,還是應該覆蓋默認映射? – Dofs 2010-11-03 18:15:56