2009-08-14 15 views
0

私はいくつかのテーブルを持っており、マッピングすることができません。エンティティフレームワークが1対1の関係にマッピングされていません

aspnet_Users 
UserId<PK> 
//Other Fields 

Table A(intermediate table) 
UserId<PK> 


Table B 
UserId<PK> 
Field1 
Field2 
Field3 

うん私は、これらの3つのテーブルを追加すると、表B

に表A

又は

表Aに

aspnet_usersと1対1の関係を取得しますか

私は持っている必要があります

aspnetusers to表Aから表B

この関連付けを追加しようとしましたが、うまく動作しません。

Error 3021: Problem in Mapping Fragment starting at line 168: Each of the following columns in TableA is mapped to multiple conceptual side properties: 

これはどのように修正できますか?

答えて

4

中間テーブルがリレーションシップマッピングテーブル(aspUser.useridとtableb.userid列を持つ)の場合、Entity Frameworkはそれをカットし、aspnet_UsersをTableBにのみ表示します。

上記のとおりであれば、3つのテーブルすべてのチェーンが表示されます。

データベースには、aspnet_UsersからtableA、TableaからtableBへの外部キーの関係はありますか?

第一の関係:aspnet_Users.UserID = TableA.UseID 第二関係:TableA.UserID = TableB.UseID

あなたがこれを行う場合、データベースからあなたエンティティデータモデルを更新し、それが3つのテーブルのasp_usersを示すべきtableAおよびtableAからtableBへのマッピング。正しいジョインを表示するには、edmxファイルを閉じる/再オープンする必要があり、デザイナーが時々リフレッシュしないことがあります。 alt text http://i31.tinypic.com/2ajyq05.jpg

alt text http://i27.tinypic.com/2417bbm.jpg

alt text http://i31.tinypic.com/29g0c50.jpg

alt text http://i32.tinypic.com/2wr3u4p.jpg

alt text http://i27.tinypic.com/r1eflf.jpg

+0

たぶん私は団体正しい方法を追加しておりません。どのようにしましたか?あなたのように私のテーブルを見せることはできません。 – chobo2

+0

テーブルAのDBリレーションシップのスクリーンショットを追加しました – Jay

+0

私はその外部キーリレーションシップウィンドウを持っていません。それはどこにある?私はそれを見つけることができません。 – chobo2

関連する問題