实体框架 – 实体框架和多语言数据库

前端之家收集整理的这篇文章主要介绍了实体框架 – 实体框架和多语言数据库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我只是想知道在将Entity Framework与多语言数据库一起使用时是否有任何最佳实践?我处理这个的数据库设计是为我的所有翻译都有一个单独的表:
[Product Table]
ProductID     PK
NameId        FK
DescriptionId FK

[Translation Table]
TextId        PK
LanguageId
TranslationText

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

谢谢,
缺口

解决方法

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

我更改了数据库架构,而不是为不同文本类型的所有翻译都有一个表,我有一个单独的“文本”表,例如

[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");

希望这可以帮助

猜你在找的MsSQL相关文章