2010-10-25 60 views
0

假設我有兩個實體Team和Match。在每場比賽中,有兩支球隊,HomeTeam和AwayTeam。一支球隊可以有多場比賽,但是HomeTeam和AwayTeam只能有一個球隊。有時候Team是HomeTeam,有時候同樣的Team是AwayTeam。我已經提供了每個類的基礎知識:Code First CTP4:如何映射這兩個實體

public class Team 
{ 
    public int TeamId { get; set; } 
    public string Name { get; set; } 
} 



public class Match 
{ 
     public int MatchId { get; set; } 
     public int HomeTeamId { get; set; } 
     public int AwayTeamId { get; set; } 
} 

我該如何映射這個?我想(與設置ICollection的比賽,並試圖將其映射,但是我得到的HomeTeam和AwayTeam不能有相同的反向關係(類似的東西)。

感謝。

回答

0

這個怎麼樣?

public class Team 
{ 
    public int TeamId { get; set; } 
    public string Name { get; set; } 
    public List<Match> Matches {get; set;} 
} 

public class Match 
{ 
    public int MatchId { get; set; } 
    public Team HomeTeamId { get; set; } 
    public Team AwayTeamId { get; set; } 
} 
+0

謝謝。雖然沒有工作,但我仍然得到:'MyProject.Team'的導航屬性'Matches'不能與'MyProject.Match'的導航屬性'AwayTeam'和'HomeTeam'相反。你不知道的情況下,我試圖結合實體框架使用相對較新的Code First方法(它尚未成爲Microsoft的RTM)。 – Buginator 2010-10-25 16:38:37

+0

和removi HomeTeamId和AwayTeamId結束的'Id'? (離開HomeTeam&AwayTeam) – 2010-10-25 16:45:24

+0

刪除「Id」結尾確實奏效,但這是因爲它是擺在首位的更正確的方式。您的參與引導我瞭解整體解決方案,謝謝。 – Buginator 2010-11-01 11:37:55