2009-08-14 118 views
0

我有一些表,我不能讓他們映射。實體框架不映射1對1關係

aspnet_Users 
UserId<PK> 
//Other Fields 

Table A(intermediate table) 
UserId<PK> 


Table B 
UserId<PK> 
Field1 
Field2 
Field3 

是的,當我在我添加這些3個表將要麼得到與

aspnet_users一個1對1的關係,以表A

表A表B

我需要

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列),實體框架會將其切斷並僅將aspnet_Users顯示到TableB。

如果正如你所說的那樣,那麼你應該看到所有三張桌子的鏈條。

在你的數據庫中,你有從aspnet_Users到tableA和Tablea到tableB的外鍵關係嗎?

1日關係:aspnet_Users.UserID = TableA.UseID 第二個關係:TableA.UserID = TableB.UseID

如果你這樣做,那麼你刷新實體數據模型從數據庫和它應該顯示三個表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 2009-08-14 21:08:26

+0

爲表A添加了DB關係屏幕截圖 – Jay 2009-08-14 21:14:53

+0

我沒有該外鍵關係窗口。它在哪裏?我找不到它。 – chobo2 2009-08-14 21:18:49