Отображение вложенных компонентов в Fluent NHibernate

У меня есть "Пользовательская" сущность, которая содержит объект значения "Адрес". У меня есть это отображение ok с использованием концепции компонентов FNH. Тем не менее, адрес VO также содержит страну, которая является другим объектом ценности. Я предположил, что это должно быть просто вложенным как другой компонент, но это, похоже, не работает. Может ли кто-нибудь сказать мне, как я должен это решить?

Код для отображения ниже...

Спасибо!

public UserMapping()
        {
            Table("Users");
            Id(c => c.Id).GeneratedBy.HiLo("100");
            Map(c => c.UserName).Not.Nullable().Length(64);
            Map(c => c.Email).Not.Nullable().Length(128);
            Map(c => c.Password).Not.Nullable().Length(256);
            Map(c => c.Roles).Length(64);
            Map(c => c.FirstName).Not.Nullable().Length(64);
            Map(c => c.LastName).Not.Nullable().Length(64);
            Map(c => c.BirthDate).Not.Nullable();
            //Address
            Component(x => x.Address, m =>
            {
                m.Map(x => x.AddressLine1).Not.Nullable();
                m.Map(x => x.AddressLine2);
                m.Map(x => x.City).Not.Nullable();
                m.Map(x => x.Region);
                m.Map(x => x.PostalCode).Not.Nullable();
                //*****Country Here********
                // country has Name and Code

            });
        }

Ответы

Ответ 1

А, Джимми Богард из списка рассылки FNH показал мне - это довольно просто. Я не знаю, что я делал раньше! В любом случае, для кого-то, кто интересуется:

Component(c => c.Address, m =>
{
    m.Component(cp => cp.Country, m2 =>
    {
        m2.Map(x => x.Name); //etc
    } 

Ответ 2

Я бы создал карту для Country и использовал m.References(x => x.Country).