NHibernate с моделями, имеющими свойства классов - PullRequest
0 голосов
/ 11 июля 2009

Я использую FluentNHibernate, но NHibernate XML подойдет.

Скажите, у меня есть эта модель

public User
{
    public User()
    {
        ProfilePicture = new Picture();
    }
    public Guid Id { get; private set; }
    public Picture ProfilePicture { get; set; }
}

public Picture
{
    int width;
    int height;
}

Как мне сообщить NHibernate, как хранить и получать ProfilePicture?

Я знаю на беглом языке, как

Map(x => x.ProfilePicture);

но это не работает.

1 Ответ

2 голосов
/ 11 июля 2009

Если User и ProfilePicture взяты из двух разных таблиц, тогда вы должны использовать Ссылки :

References(x => x.ProfilePicture);

Если вам нужно указать имя столбца, это (например,)

References(x => x.ProfilePicture, "ProfilePictureId");

В документации .

есть несколько других примеров для различных случаев использования.

Если ProfilePicture хранится в таблице User, вы должны отобразить его как Component :

Component(x => x.ProfilePicture, c => 
    { 
        c.Map(x => x.width);
        c.Map(x => x.height);
    });
...