FluentNHibernate - ClassMap по сравнению с IAutoMappingOverride

В FluentNHibernate, когда должен, я использую ClassMap и когда IAutoMappingOverride<Entity> для моих классов EntityMap.


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

по сравнению с

public class PostMap : IAutoMappingOverride<Post>
{
    public void Override(AutoMapping<Post> mapping) 
    {
        ...
    }
}
5
задан Fitzchak Yitzchaki 25 April 2010 в 04:47
поделиться

1 ответ

Карты классов используются при сопоставлении объектов вручную. В этом случае вы создаете отдельную ClassMap для каждой сущности, которая определяет, как эта сущность отображается в базе данных.

IAutoMappingOverrides используются при отображении объектов с помощью AutoMapping. При использовании AutoMapping Fluent NHibernate пытается автоматически определить, как объекты должны быть сопоставлены с базой данных, но иногда автоматически сгенерированные сопоставления не совсем то, что вы хотели, поэтому вам нужно переопределить части, которые нужно настроить. В этом случае вы создаете переопределение сопоставления для каждой сущности, автоматическое сопоставление которой необходимо переопределить, и переопределяете только эти части.

Дополнительную информацию можно найти на вики-странице Fluent NHibernate:

12
ответ дан 13 December 2019 в 05:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: