首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有Entity Framework4指南的多语言数据库

具有Entity Framework4指南的多语言数据库
EN

Stack Overflow用户
提问于 2010-04-07 04:07:29
回答 1查看 2.1K关注 0票数 4

我们正在创建一个大型电子商务数据库,该数据库需要支持多种语言的数据。例如,product表需要一个或多个Name、Description、MetaTitle、MetaKeywords、MetaDescription等翻译。

从关系数据库设计的角度来看,有几种方法可以实现这一点。但是Entity Framework4增加了一些约束,性能是一个很大的问题。

Multilingual Database Design中类似的问题

下面是我们正在考虑的一组表的示例:

代码语言:javascript
复制
[Product]
- Id (PK)
- CreateDate
- NamePhraseId (FK)
- DescriptionPhraseId (FK)
- Price
- ...

[Phrase]
- id (PK)
- Invariant

[Translation]
- id (PK)
- PhraseId (FK)
- LanguageCulture (Example: en-US)
- Translation

我们还可以添加一个LanguageCulture查找表。

与其他方法一样,这种方法也有其优缺点。我们不希望必须为每个可能需要转换的表列(例如没有ProductName、ProductDescription表)创建额外的表,因为这会使我们的数据模型太大。

在上面的示例中,产品名称将包含零个或一个短语以及一个或多个翻译。我记得,实体框架需要1对1的关系才能在表上具有相同的主键,我不知道0或1关系的情况是否相同,但这可能会破坏上面的方法。

我真的很难找到关于实体框架和多语言数据库/模型设计指南的好信息。我非常赞赏强调良好的设计和尽可能好的性能的建议和指导。

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2010-04-07 04:25:33

考虑到EF4的POCO支持,我想说数据库的设计应该少与EF有关,而更多地与好的多语言设计有关。

根据文档,EF支持“零或一”关系。只需将Translation表中的PhraseId设为可空,这应该会产生一个0..1关系。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2587898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档