データベーススキーマを正規化してEntity Frameworkでマッピングしようとすると、ルックアップテーブルの束になってしまうことがあります。彼らはキーと値のペアだけを含むことになります。私は基本的に "キー"と "値"の2つの列を持つ1つのテーブルにそれらを統合したいと思います。たとえば、Addresses.AddressTypeとPerson.Genderを両方とも同じテーブルを指すようにすることができますが、ナビゲーションプロパティは適切なエンティティに適用可能な行のみを返すようにしたいと考えています。EF階層ごとのマッピング
EDIT:私はこの段落を残したことに気づきました:
これはTPHの問題のようですが、私が行った読んだことはすべて、親エンティティのフィールドから始まり、継承された子にフィールドを移行することを示しています。私はここに移動する欄はありません。なぜなら、一般的には2つしかないからです。
多くのドメイン固有のキーと値のペアが必要です。それらのうちのいくつかは時折変更されますが、他の人は変更されません。選んで選択するのではなく、すべてを編集可能にしたいだけです。これらの種類のプロパティが使用されるため、リコンパイルが必要な列挙型を維持する必要はなく、多くのルックアップテーブルが必要になります。だから、これは解決策かもしれないと思った。
EF4でこの種の構造を表現する方法はありますか?それとも、私は間違った木を鳴らしていますか?
EDIT:データベースレベルで必要なテーブル構造を構築し、その上にビューを作成し、それらをEFエンティティとして記述することもできます。メンテナンスを複数のレベルで行う必要があることを意味します。それは純粋なEFソリューションよりも多く、あるいはそれほど望ましくない音ですか?
まず、オブジェクト側から考えてみてください。あなたはここでリレーショナルに話しています。 AddressTypeとGenderの間の家族関係は、あなたのモデルをどの程度意識しますか? –
私は実際には、これらの2つのプロパティの間に何らかの概念的関係を作成しようとしていません。私が見ているすべてのプロパティは、基本的なスキーマが「key」と「value」の下にあります。私は、複数のプロパティを同じ基礎となるテーブル構造にマップできるようにしたいだけです。オブジェクトのオブジェクト側からは関係はありません。 – kettch