Как преобразовать свободное отображение динамических свойств NHibernate в сопоставление NH 3.2 с помощью эквивалента кода

#fluent-nhibernate #nhibernate-mapping

#fluent-nhibernate #nhibernate-отображение

Вопрос:

У меня есть следующее отображение в свободном NHibernate:

 public CustomFieldsMap()
{
    Schema("schema");
    Table("table");

    Id(x => x.Id, m => m.Column("id"));
    DynamicComponent(x => x.Fields, c =>
    {
        ...insert code here...  
    });
}
 

Это работает нормально (очевидно, с реальным кодом).

Я не могу понять, что такое эквивалент (если он еще есть) в функции отображения по коду, введенной в NHibernate 3.2?

Ответ №1:

Вы должны предоставить шаблон динамического компонента.

 Component(x => x.Fields, new
{
    IntField = 0,
    RelationField = default(Related)
}, dc =>
{
    // dynamic component members mappings
    dc.Property(x => x.IntField);
    dc.ManyToOne(x => x.RelationField);
    // etc.
});
 

Смотрите Эту статью для примеров и объяснений.

Ответ №2:

Вы не можете использовать RegisterDynamicComponentMapping?