我需要将本地化实体存储在数据库中(例如产品,它有一个名称,在英语和丹麦语中是不同的)。有几种众所周知的方法可以做到这一点,例如使用某种包含本地化列值的资源表。

但是,当我想检索英文的 Product 类的实例并期望 Name 属性的值为英文时,这似乎不太容易适应 ORM。

我不想重新发明轮子,我认为这是一个非常普遍的问题。
是否有任何 ORM 支持开箱即用的实体本地化?

由于我在 Microsoft 堆栈上,因此 ORM 的明显选择是 Entity Framework 4。EF4 中是否有任何功能支持这一点?

最佳答案

AFAIK EF4 不提供这样的东西。

Dmitri Maximov 写了一系列很好的文章,涵盖了 DataObjects.Net 的本地化实现,即使您正在使用(或将要使用)任何其他框架,那里的信息也可能对您有所帮助:

  • Localization support, part 1. Theory
  • Localization support, part 2. Domain modeling
  • Localization support, part 3. CRUD operations
  • Localization support, part 4. Queries - 有点过时了,我最好推荐你查看 code of working localization sample
  • 10-07 23:22