NHibernate: Как отобразить столбец в ссылочной таблице на примитив в моем объекте? - PullRequest
1 голос
/ 03 февраля 2010

Если у меня есть следующая существующая схема таблицы

+-------------------+        +-------------------+
|  Address          |        |  Country          |
+-------------------+        +-------------------+
|  Line1            |   +--->|  CountryId        |
|  Line2            |   |    |  Name             |
|  City             |   |    +-------------------+
|  State            |   |
|  Zip              |   |
|  CountryId        |---+
+-------------------+

... и мой класс выглядит следующим образом

public class Address
{
    public virtual string Line1 { get; set; }
    public virtual string Line2 { get; set; }
    public virtual string City { get; set; }
    public virtual string State { get; set; }
    public virtual string PostalCode { get; set; }
    public virtual string Country { get; set; }
}

... как настроить сопоставления так, чтобы свойство Country (string) содержало столбец [Name] из таблицы [Country]?

1 Ответ

2 голосов
/ 03 февраля 2010

Вы можете достичь этого путем отображения вида. Но объектно-ориентированный подход будет заключаться в создании объекта Country и отображении отношения «многие к одному» между Address и Country:

public class Address
{
    public virtual string Line1 { get; set; }
    public virtual string Line2 { get; set; }
    public virtual string City { get; set; }
    public virtual string State { get; set; }
    public virtual string PostalCode { get; set; }
    public virtual Country Country { get; set; }
}

Затем вы получите доступ к имени через Address.Country.Name. В FluentNHibernate вы будете использовать Ссылки для сопоставления отношений в вашем сопоставлении адресов: References(x=> x.Country, CountryId);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...