2010-04-25 69 views
3

在FluentNHibernate中,我应该何时使用ClassMap以及IAutoMappingOverride<Entity>为我的EntityMap类。FluentNHibernate - ClassMap vs IAutoMappingOverride


public class PostMap : ClassMap<Post> 
{ 
    public PostMap() 
    { 
     ... 
    } 
} 

VS

public class PostMap : IAutoMappingOverride<Post> 
{ 
    public void Override(AutoMapping<Post> mapping) 
    { 
     ... 
    } 
} 

回答

9

ClassMaps手动映射您的实体时使用。在这种情况下,您将为每个指定该实体如何映射到数据库的实体创建一个单独的ClassMap。

IAutoMappingOverrides用于在使用AutoMapping映射实体时使用。当使用AutoMapping Fluent时,NHibernate试图自动找出实体应该如何映射到数据库,但有时候自动生成的映射并不是你想要的,所以你必须重写那些需要调整的部分。在这种情况下,您为每个需要覆盖自动映射的实体创建一个映射覆盖,并仅覆盖那些部分。

更多信息可以在功能NHibernate wiki上找到:

+0

这些链接都是404了。 – Puppy 2015-12-09 17:31:46