VS 2010 Entity Frameworkデザイナを使用して、データベースから自動生成されたエンティティの一部を変更しています。
データベース構造は、UIを構築している製品によって定義されているため、変更できません。
データベースには、両方のテーブルの非キー列の共通の値に純粋に基づいた多対多の関係を持つテーブルがあります。
- 表1ユーザーには、単一のID列userIdとuserProfileという別の列があります。
- 表2SecurityProfileには単一のID列securityProfileIdがあり、列userProfileもあります。
つまり、ユーザープロファイルは、ユーザーをSecurityProfilesにマッピングするための単なる名前です。
ウィザードは、UsersテーブルとSecurityProfileテーブルの両方のエンティティを作成しました。userProfileという単一のキーフィールドを持つUserProfileという新しいエンティティを作成しました。
UserProfileからUserへ、およびUserProfileからSecurityProfileへの1対多の関連付けを作成しました。UserProfileエンティティにテーブルマッピングがないためコンパイルされないことを除いて、これはすべて正常に機能します。
Entity Frameworkでこの関連付けを作成するにはどうすればよいですか?
アップデート:
EFを使用できない場合(最初の回答で示唆されているように)、これら2つのエンティティをリンクするために使用できる非バインドエンティティを手動で作成して、少なくとも少し簡単なオブジェクトモデルを公開することは可能ですか?ナビゲートするには?
つまり、UserエンティティとSecurityProfileエンティティを抽象化し、手動で作成したUserProfileエンティティを指す適切なプロパティを使用してこれらの拡張機能を手動で定義します。