创建密钥表和域模型

时间:2014-04-24 18:23:08

标签: c# asp.net-mvc-3 entity-framework

所有

我需要为新的密钥表添加一个域类,该表将俱乐部成员表([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;
}

1 个答案:

答案 0 :(得分:1)

只需标记为Key:

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

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