我正在使用MVC3和EF4。我想创建一个多语言常见问题解答功能。我需要能够以某种方式通过groupId对这些条目进行分组(所以我知道这个问题是同一个问题 - 只是用不同的语言)。例如,我可能有不同语言的常见问题和答案。
所以有了这个表我会添加一个GroupId字段,但我是如何制作它以便我知道"这个" entry属于这个GroupId。
实现这一目标的最佳途径是什么?什么是最好的方法,最有效率。 感谢
答案 0 :(得分:1)
似乎您已在当前表中使用此功能。使用FaqId
作为GroupId
。请勿自动生成FaqId
并使FaqId
+ LanguageId
成为您的复合主键。在这种情况下,您的FaqId
将指向单个问题的所有语言变异。
您还可以对表进行一些规范化。您可以将其划分为Faq
(FaqId
(PK),LoginId
,IsActive
,CreateDate
)和FaqLocalization
(FaqId
(FK,PK),LanguageId
(PK),Question
,Answer
)。选择这些规范化表的列取决于您的进一步要求。一旦进行了此规范化,您还可以修改FaqLocalization
表并删除复合PK并添加新的LocalizationId
(PK)。 FaqId
(FK)将是您的GroupId
。