2012-01-20 13 views
0

MVC3とEF4で作業しています。私は多言語FAQ機能を作りたいと思っています。私は何とかgroupIdを介してこれらのエントリをグループ化する必要があります(この質問は別の言語で同じ質問です)。たとえば、私は同じFAQの質問と答えを別の言語で持っているかもしれません。EF4/SQL生成グループ/グループ化エントリ

このテーブルを持つと、GroupIdフィールドが追加されますが、「この」エントリがこのGroupIdに属していることがわかります。

enter image description here

これを達成するための最良の方法は何ですか?何が最善のアプローチ、最も効率的です。 ありがとう

+0

GroupのプロパティとGroupのプロパティを取得するためにGroupテーブルと外部キーを使用したいと思っていますが、質問を正しく理解しているかどうかはわかりません。 –

答えて

1

あなたの現在のテーブルにこの機能があります。 GroupIdとしてFaqIdを使用してください。 FaqIdを自動生成せず、FaqId + LanguageIdを複合主キーにします。そのような場合、FaqIdは1つの質問のすべての言語の突然変異を指します。

テーブルの正規化を行うこともできます。あなたはFaqFaqId(PK)、LoginIdIsActiveCreateDate)とFaqLocalizationFaqId(FK、PK)、LanguageId(PK)、QuestionAnswer)に分割することができます。これらの正規化された表の列の選択は、それ以上の要件に依存します。この正規化が完了したら、FaqLocalizationテーブルを変更して複合PKを削除し、新しいLocalizationId(PK)を追加することもできます。 FaqId(FK)はGroupIdになります。

+0

良い解決策。私は2つ目のアプローチを行いました。つまり、2つのテーブルに分けています。ありがとう – ShaneKm