2014-04-24 84 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;}