在FluentNHibernate中,何时应为我的EntityMap类使用ClassMap
,何时应使用IAutoMappingOverride<Entity>
。
public class PostMap : ClassMap<Post>
{
public PostMap()
{
...
}
}
与
public class PostMap : IAutoMappingOverride<Post>
{
public void Override(AutoMapping<Post> mapping)
{
...
}
}
最佳答案
手动映射实体时使用ClassMaps 。在这种情况下,您将为每个实体创建一个单独的ClassMap,以指定该实体如何映射到数据库。
IAutoMappingOverrides 用于在使用AutoMapping映射实体时使用。使用自动映射时,Fluent NHibernate会尝试自动找出应如何将实体映射到数据库,但是有时自动生成的映射并不是您想要的,因此您必须覆盖需要调整的部分。在这种情况下,您将为每个需要覆盖自动映射的实体创建一个映射覆盖,并且仅覆盖那些部分。
可以在Fluent NHibernate Wiki上找到更多信息:
关于fluent-nhibernate - FluentNHibernate-ClassMap与IAutoMappingOverride,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2707188/