NHibernate/本地化/查找表

标签 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 中是否有一种简单而简洁的方法来处理数据库查找表和本地化?

最佳答案

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

所以这在你的场景中不起作用。我会推荐这个:http://nhforge.org/wikis/howtonh/localization-techniques.aspx

关于NHibernate/本地化/查找表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1405961/

相关文章:

c# - SQLite 中的 NHibernate 和 Utc 日期时间

nhibernate - 如何在 nHibernate 中创建只读 session ?

c# - 在 NHibernate 中制作数据访问方法的最佳方法是什么?

NHibernate 数据库版本控制 : object level schema and data upgrades

c# - TimeOut Expired 自带 SetResultTransformer() 方法

nhibernate - 流畅的 NHibernate 获取 View ,无需唯一标识符

c# - 如何在(流利的)NHibernate 中使用字符串键

linq - NHibernate.Linq 和 CompareTo 字符串

nhibernate - NHibernate 中的 List、Set 和 Bag

nhibernate - 什么时候应该避免使用NHibernate延迟加载功能?