2010-04-25 4 views
3

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


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

против

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

ответ

9

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

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

Более подробную информацию можно найти на вики Fluent NHibernate:

+0

Эти ссылки как 404 в настоящее время. – Puppy

Смежные вопросы