NHibernate / Локализация / Справочные таблицы

Я хочу добавить поддержку локализации своему объекту области. У меня есть следующее:

class Person
{
    int Id;
    City city;
}

class City
{
    int Id;
    string Name;
}

Все города сохраняются в таблице базы данных поиска Cities. Я хотел бы иметь:

Person p = PeopleService.GetPersonById(1);
//Assert p.City.Name == 'London' if culture == 'en-us'

Мне не нравится делать

string City::Name { get { return ILocalizationProvider.Get(typeof(City), Id); }

Я приехал в соответствии с этой статьей:

http://ayende.com/Blog/archive/2006/12/26/LocalizingNHibernateContextualParameters.aspx

Все же я не знаю ли его поддерживаемый в NH 2.1 или нет.

Как я могу дать NH команду кэшировать все города в кэше 2-го уровня для предотвращения соединений каждый раз для той же локали?

Существует ли легкий и аккуратный способ рассматривать справочные таблицы базы данных и локализацию в NHibernate?

5
задан mizo 5 February 2011 в 05:47
поделиться