0

首先,我研究了一些像这样的解决方案 现在,我正在尝试实现这样的目标:

public class Article : Entity 
{
   public int ID {get;set;}
   public CultureInfo Culture {get;set;}
   public DateTime PublishedOn {get;set;}
   public string Title {get;set;}
}

现在这里是事实:

  1. ID 是唯一标识符
  2. 文化应该区分不同的文化版本
  3. Title 属性应该本地化(每种文化一个 raw)
  4. PublshDate 不应本地化,因为它对所有文化都相同

现在,这就是我需要的:

  1. 每个实体只使用一个类:我不想要“Article”和“ArticleLocal”类
  2. 提供系统让 NHibernate 为实体获取适当的原始文化(基于当前文化的 soem 全局属性)
  3. 如果可能,强制 NHibernate 在初始化时自动创建本地表。

我的想法是使用属性,但不确定是否已经有经过验证的解决方案。这是想法:

[LocalizedEntity]
public class Article : Entity 
{
   public int ID {get;set;}
   [LocalizedCulture("CultureID")]
   public CultureInfo Culture {get;set;}
   public DateTime PublishedOn {get;set;}
   [Localized("Title")]
   public string Title {get;set;}
}
4

1 回答 1

0

这个问题不时出现,我会建议一些没有太多魔法的东西

这样做的好处是实现回退和添加本地化非常容易

于 2012-11-28T08:28:52.427 回答