我想为我的域对象添加本地化支持。我有以下几点:
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 中是否有一种简单而简洁的方法来处理数据库查找表和本地化?
最佳答案
在文章中它说“请注意,这在 NHibernate 2.1 及更高版本中不再受支持。这是一个黑客开始,不能保证继续工作。”
所以这在你的场景中不起作用。我会推荐这个:http://nhforge.org/wikis/howtonh/localization-techniques.aspx
关于NHibernate/本地化/查找表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1405961/