NHibernate / Localization / Lookup表

时间:2009-09-10 15:21:01

标签: 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在二级缓存中缓存所有城市,以避免每次都使用相同的区域设置进行连接?

在NHibernate中处理数据库查找表和本地化是否有一种简单明了的方法?

1 个答案:

答案 0 :(得分:3)

在文章中它说“请注意,NHibernate 2.1及更高版本中不再支持这种行为。开始时这是一个黑客攻击,并且不能保证继续工作。”

所以这在你的场景中不起作用。我建议这样做:http://nhforge.org/wikis/howtonh/localization-techniques.aspx