Entity Frameworkの - 派生エンティティから協会
-
12-09-2019 - |
質問
私は、エンティティのセットをマッピングするためにTPH(階層ごとのテーブル)技術を使用しています。
DBスキーマ: UserGroupLabelSpreads表は、「ユーザーID」、「グループID」を有するといくつかの追加の一般的なフィールドを持つ「LabelId」ヌル値を許可するフィールドます。
DALのオブジェクト: - UserGroupLabelSpread抽象クラス。 - 唯一の非nullのユーザーIDを持つ弁別とUserSpread。 - 唯一の非nullのグループIDを持つ弁別とGroupSpread。 - 唯一の非ヌルLabelIdを持つ弁別とLabelSpread
。私はこの事は仕事を得ることができたが、私は、既存の「ユーザー」エンティティにUserSpreadエンティティを接続しようとすると、私は次のエラーを取得しています: エラー1エラー3034:行487、554から始まるマッピングフラグメントで問題:異なるキーを持つ2つのエンティティは、同じ行にマッピングされます。これらの2つのマッピングフラグメントは、行の同じグループにキーが重複してエンティティの2つのグループをマップしないことを確認します。
私はこの問題は、私は二回ユーザーID列をマッピングしてるということであることを理解することは周り掘ってきました:。一度アソシエーションの弁別条件と第二のために
私は右の私の前提でアム? -CAN私はこの事は仕事を得る?
おかげで、 ニールます。
解決
であるべきである EDMジェネレータでの更新バージョンがありますあなたを助けることができます。あなたは、生成し検証し、より多くのためにそれを使用することができます。申し訳ありませんが、間違ったリンクを得ました。 ここでv2のの1つです。私はこの問題を持っていたと信じています。私は間違っていないよ場合、それは私が間違っforreignキーをマッピングによるものでした。しかし私は、その時にEF4のベータ1を使用していたし、メッセージのいくつかは、プロキシによる間違っていました。あなたのforreignキーを確認してください。 Blog.Id ---> Blog_idは私の問題でした。私はBlog.Id持っていた - 。>その後、Blog.IdとBlogEntry.Id ----> Blog.Blog_Id動作しませんもちろんのが、設計者は一種の容赦のない、それがマッピングキーに来るときである。