加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 07:25:36 所属栏目:MsSql教程 来源:网络整理
导读:我只是想知道在将Entity Framework与多语言数据库一起使用时是否有任何最佳实践?我处理这个的数据库设计是为我的所有翻译都有一个单独的表: [Product Table]ProductID PKNameId FKDescriptionId FK[Translation Table]TextId PKLanguageIdTranslationText
我只是想知道在将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");

希望这可以帮助

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读