我在哪里可以在SharpArchitechture项目中创建映射文件

问题描述:

我正在关注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方法。

+0

感谢您的回答。如果我要在两个实体之间创建关系,那么我应该通过t4实体生成在域模型中执行它,还是应该覆盖默认映射? – Dofs 2010-11-03 18:15:56