实体框架和多语言数据库

我只是想知道在使用实体框架和多语言数据库时是否有最佳做法? 我的数据库设计处理这是为我所有的翻译有一个单独的表:

[Product Table]
ProductID     PK
NameId        FK
DescriptionId FK

[Translation Table]
TextId        PK
LanguageId
TranslationText

我很高兴与这种方法一致,但我想知道Entity Framework是否有任何可以帮助解决这个问题的功能? 能够拥有产品实体对象,给它一种语言,然后以正确的语言直接访问名称和描述字段会很好。

谢谢,尼克


正如有人问我是否有解决方案,我想我会添加我的解决方案:

我改变了数据库模式,而不是为所有不同文本类型的翻译提供一个表格,我有一个单独的“文本”表格,例如

[Product Table]
ProductID           PK
ProductName         In master language for reference
ProductDesription   In master language for reference
<other product fields>

[ProductText Table]
ProductID             PK
LanguageId            PK
ProductName           Language-Specific name
ProductDescription    Language-Specific description

对于需要它的每种实体类型,我有许多这些用于本地语言翻译的“文本”表格。

然后,如果我需要从EF访问本地化数据,我使用以下内容(例如获取德文文本):

Product product = db.Products.Where(m => m.ProductId == 1);
ProductName germanProductName = product.ProductNames(m => m.LanguageId == "de");

希望这可以帮助


实体框架是一个通用的ORM,它不提供任何领域特定的功能。 对特定应用程序的多语言支持是一个特定于域的问题。

你在寻找具体的东西吗?

链接地址: http://www.djcxy.com/p/967.html

上一篇: Entity Framework and Multi Language Databases

下一篇: can automapper create an object graph from flatted object?