NHibernate / Локализация / Поиск таблиц - PullRequest
5 голосов
/ 10 сентября 2009

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

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?

1 Ответ

3 голосов
/ 28 февраля 2011

В статье говорится: «Обратите внимание, что это поведение больше не поддерживается в NHibernate 2.1 и более поздних версиях. Это был взлом с самого начала, и он не гарантированно продолжит работать».

Так что это не будет работать в вашем сценарии. Я бы порекомендовал это: http://nhforge.org/wikis/howtonh/localization-techniques.aspx

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