在FluentNHibernate中我应该何时使用ClassMap
,何时IAutoMappingOverride<Entity>
用于我的EntityMap类。
public class PostMap : ClassMap<Post>
{
public PostMap()
{
...
}
}
VS
public class PostMap : IAutoMappingOverride<Post>
{
public void Override(AutoMapping<Post> mapping)
{
...
}
}
答案 0 :(得分:12)
ClassMaps 。在这种情况下,您为每个实体创建一个单独的ClassMap,指定该实体如何映射到数据库。
使用AutoMapping映射实体时使用IAutoMappingOverrides 。当使用AutoMapping Fluent NHibernate尝试自动确定实体应该如何映射到数据库时,但有时自动生成的映射不是你想要的,所以你必须覆盖需要调整的部分。在这种情况下,您需要为需要覆盖自动映射的每个实体创建映射覆盖,并仅覆盖这些部分。
更多信息可以在Fluent NHibernate wiki上找到: