2011-01-19 2 views
0

マルチテナントになるmvc 3アプリケーションを構築しています。つまり、同じ基本データ構造を使用しますが、アクセスに使用するドメイン名によって異なるデータを提供します。マルチテナントアプリケーションのドロップダウンリストを設定する

私が解決しようとしている問題はこれです。レンダリングされているサイトに基づいて選択肢の選択肢を持つ多数のドロップダウンリストを設定するにはどうすればよいですか。別のしわを追加するには、文字列をローカライズする必要があります。

ウェブサイトIDと言語ID、フィールドIDと文字列値の列を含む表を作成するだけです。これは大丈夫だと思われますが、ローカリゼーションのためにすでに実行されている可能性のあるメカニズムを無視しているようです。私はここで車輪を再現しているように感じる。

例として、サイト1にはお気に入りのアクティビティのドロップダウンリストがあり、音楽の関心に合わせた範囲の項目があります。サイト2は同じドロップダウンを持つことができますが、スポーツの仲間に合わせたアイテムがあります。

私の質問は、この問題をどうやって解決するかです。また、同様の静脈で...あなたが選択リストを持っている場合は、州コード、都市などを言うでしょうか。あなたはこのデータ(状態テーブル、都市テーブルなど)を設定するために別個のテーブルを作成する傾向がありますか、このすべての情報は共通の表にあり、どのドロップダウンが使用されたのかを示すIDを持っていますか?前者はより正規化されているようですが、後者はより効率的です(コードを書くのが少ない)。

+0

これはasp.net-mvcとは関係ありません。マルチテナントはかなり言語にとらわれず、あなたの質問はデータ設計に関する質問の多くです。 – jfar

+0

asp.net-mvcはローカライゼーションの面で、asp.net-mvcではどのローカライズ方法が提供されているのかが関係しています。さらに、ドロップダウンリストには、MVCと他のフレームワークとでは異なる方法があります。 –

答えて

1

共通ルックアップテーブルについての考え方。この男は間違いない。

http://www.projectdmx.com/dbdesign/lookup.aspx

私はそれを使用して、私はいくつかの時間、または少なくともいくつかのキーストロークを保存していると信じています。後で申し訳ありません。

+0

彼は興味深いコメントをいくつか持っています。私はそれらのいくつかに本当に同意しない、あるいはむしろ彼らが過度に理論的だと思う。しかし、彼はいくつかの良い点を作っています。純粋主義者と実践主義者の間にはこのようなデータベース設計の格差があります。純粋主義者は、自然な鍵で非常に正規化されたデータを信じています。実際には、その技術はしばしばそのアプローチを困難にしています。また、純粋主義者はデータモデルを実際の人生をモデル化すると考える傾向がありますが、データモデルの中には譲歩(マルチテナントの問題を扱うために拡張性を持たせるなど)が必要です。 –

+0

リンクはもはや利用できないので、答えは本当に有効ではありません。 –

関連する問題