2014-04-24 85 views
0

所有,創建密鑰表和領域模型

我需要添加一個域類是涉及俱樂部成員的表([DBO] .NewClubProspect),以電子郵件([DBO]新的密鑰表.NewClubEmail )發送給他們。

我不知道如何在域類中進行設置。

問題 需要註釋密鑰表(NewClubProspectNewClubEmail)由於這兩個屬性是外鍵,不知道如果我需要一個實際的主鍵,太?我如何註釋這個?

下面是這些表格如何關聯的圖表。圖表底部的表格(NewClubProspectNewClubEmail)是我需要在數據庫和代碼中在域類中創建的新表格。

enter image description here

這裏是我的領域類(砍光爲了簡潔)

 public class NewClub 
     { 


      public NewClub() 
      { 
       NewClubProspects = new List<NewClubProspect>(); 
       NewClubEmails = new List<NewClubEmail>(); 
      } 


      public int Id { get; set; } 
      public string NewClubName { get; set; } 
      public string NewClubLocation { get; set; } 
      public string NewClubType { get; set; } 
      public string NewClubCity { get; set; } 
      public string NewClubState { get; set; } 
      public string NewClubCountry { get; set; } 



      public virtual List<NewClubProspect> NewClubProspects { get; set; } 
      public virtual List<NewClubEmail> NewClubEmails { get; set; } 

     } 



    public class NewClubProspect 
    { 

    [Key] 
    public int Id { get; set; } 
    //Foreign Key 
    public int NewClubId { get; set; } 

    public bool IsConverted { get; set; } 
    public string ProspectFirstName { get; set; } 
    public string ProspectLastName { get; set; } 
    public string ProspectEmail { get; set; } 


    public virtual NewClub NewClub { get; set; } 
    public virtual List<NewClubEmail> NewClubEmails { get; set; } 
} 


public class NewClubEmail 
{ 
     //Primary key 
     [Key] 
     public int Id { get; set; } 

     //Foreign Key 
     public int NewClubId { get; set; } 


     public string Subject { get; set; } 
     public virtual List<NewClubProspect> Recipients { get; set; } 
     public string Body { get; set; } 
     public DateTime CreateDate { get; set; } 
     public DateTime ModifiedDate { get; set; } 
     public DateTime? SentDate { get; set; } 

     public NewClub NewClub { get; set; } 

     public NewClubEmail() 
     { 
      Recipients = new Collection<NewClubProspect>(); 
     } 


    } 

//--------------------------------------------------------- 
// Not sure what to do here. They are both foreign keys 
//--------------------------------------------------------- 
public class NewClubProspectNewClubEmail 
{ 
    public int NewClubEmail_Id {get; set;} 
    public int NewClubProspect_Id {get; set; 
} 
+0

你的方法對我來說很好。但是,這些不是PK(如圖所示),而是FK。 – Dunken

+0

@Dunken謝謝。我更新了這個問題。 – Slinky

+0

不,你不需要PK這張表,因爲這只是一個輔助表。 – Dunken

回答

1

只是標記既作爲重點:

[Key] 
public int NewClubEmail_Id {get; set;} 

[Key] 
public int NewClubProspect_Id {get; set;}