gpt4 book ai didi

entity-framework - 带有 Entity Framework 4 指南的多语言数据库

转载 作者:行者123 更新时间:2023-12-04 07:24:50 25 4
gpt4 key购买 nike

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

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

Multilingual Database Design 中的类似问题

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

[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 表)创建额外的表,因为这会使我们的数据模型太大。

在上面的示例中,产品名称将有零个或一个短语和一个或多个翻译。我记得, Entity Framework 需要 1 对 1 的关系才能在表上具有相同的主键,我不知道 0 或 1 关系是否相同,但这可能是上述方法的破坏者。

我很难找到有关 Entity Framework 和多语言数据库/模型设计指南的好信息。我会非常感谢建议和指导,重点是良好的设计和最佳性能。

提前致谢!

最佳答案

鉴于 EF4 的 POCO 支持,我认为您的数据库设计应该与 EF 的关系较少,而与良好的多语言设计有关。

根据文档,EF 支持“零或一”关系。只需制作 PhraseId在您的 Translation表可以为空,这应该导致 0..1 关系。

关于entity-framework - 带有 Entity Framework 4 指南的多语言数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2587898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com