/ /カスタマイズ可能なユーザーのアドレスの実装-C#、データベース設計、エンティティ属性値

カスタマイズ可能なユーザーのアドレスの実装 - c#、データベース設計、エンティティ属性値

私はサービスの請求システムに取り組んでいますプロバイダーと私はカスタマイズ可能な設定スキーマという名前の何かを実装する必要があります。主な機能は、管理者がさまざまな状況で必須のフィールドを定義できるようにすることです。例えば。顧客がサイトで登録するだけの場合は、姓、名、および電子メールアドレスを入力する必要があります。請求可能なものを注文する場合は、基本的な住所データを入力する必要がありますが、特定の何かが必要な場合は、請求先住所と配送先住所を入力する必要があります。管理者が、各製品(またはカテゴリ)の住所に必須のフィールドと、必須の住所(請求、配送、メインなど)を定義できるようにします。 1つの製品/サービスに複数のアドレスが必要な場合、それらのすべてに同じ必須フィールドのリストがあります。 1つの重要なことは、追加フィールドの定義を許可する必要があるということです。 住所スキーマを選択するためのルールは、製品や国に基づいています。

私の質問は、何が適切なモデルであるべきかですこの問題のため。顧客オブジェクトには住所のリストが必要だと思います。すべてのアドレスには、名前(Billing、Main、Shipping)とその値への参照が必要です。データベース側では、列として標準属性を持つアドレス用のテーブルを1つ作成し、カスタム属性(定義済み管理者による)。クラステーブルの継承を検討しましたが、アドレスの属性の最終セットがないため、ここでは適切ではありません。 2番目のオプションは、カスタム属性を格納するためにXML列を使用することでしたが、そのデータ型を使用したことがなく、パフォーマンスについてはわかりません。EAVは標準のリレーショナル設計ではありません しかし、私が言ったように、私はこの解決策のどれについても100%確信がありません、そして、いくつかの他の考えを聞きたいです。

前もって感謝します。

回答:

回答№1は1

を見てみましょう この議論.