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