Asp.net mvc 3 链接两个实体的表

Asp.net mvc 3 链接两个实体的表,asp.net-mvc-3,entity-framework-4,Asp.net Mvc 3,Entity Framework 4,我有两个实体——UserObj和Producer UserObj存储与用户相关的配置文件数据 Producer是userobj可以关联的公司。为了将这两者关联起来,我想创建一个实体,让我可以从一个实体访问每个实体的数据 我试图将两者联系起来,但我不太确定如何做到这一点,我打赌这是一件小事。谢谢你的帮助 生产者 public class ProducerUser { [ForeignKey("UserObj")] public Guid UserObjID { get; s

我有两个实体——UserObj和Producer

UserObj存储与用户相关的配置文件数据 Producer是userobj可以关联的公司。为了将这两者关联起来,我想创建一个实体,让我可以从一个实体访问每个实体的数据

我试图将两者联系起来,但我不太确定如何做到这一点,我打赌这是一件小事。谢谢你的帮助

生产者

    public class ProducerUser
{
    [ForeignKey("UserObj")]
    public Guid UserObjID { get; set; }
    [ForeignKey("Producer")]
    public int ProducerID { get; set; }

    public virtual UserObj UserObj { get; set; }
    public virtual Producer Producer { get; set; }

}
用户对象

    public class UserObj : Contact
{

    [Key]
    //public override string Email { get; set; }
    public Guid UserObjID { get; set; }
    [Display(Name = "First Name")]
   // [Required]
    public string FirstName { get; set; }
  //  [Required]
    [Display(Name = "Last Name")]
    public string LastName { get; set; }
    public int UserTypeID { get; set; }

    public virtual UserType UserType { get; set; }

    public static UserObj GetUserObj(string GUID, vfContext db)
    {
        Guid guidUser = new Guid(GUID);
        return db.UserObjs.Find(guidUser);
    }

    public string GetFullName()
    {
        return this.FirstName + " " + this.LastName;
    }

}
制作人

    public class Producer : Contact
{
    [Key]
    public int ProducerID { get; set; }
    public string Name { get; set; }
    public string Twitter { get; set; }


    public virtual ICollection<Wine> Wines { get; set; }

}
公共类制作人:联系
{
[关键]
public int ProducerID{get;set;}
公共字符串名称{get;set;}
公共字符串Twitter{get;set;}
公共虚拟ICollection{get;set;}
}

在类UserObj和Producer中添加以下行:

public virtual ICollection<ProducerUser> ProducerUsers { get; set; } 
公共虚拟ICollection生产者{get;set;}
要建立多对多关系,请在关系的两侧添加ICollection。就你而言:

向班级制作人添加

public virtual ICollection<UserObj> UserObjs { get; set; } 
公共虚拟ICollection UserObjs{get;set;} 向类UserObj添加

public virtual ICollection<Producer> Producers { get; set; }
公共虚拟ICollection生产者{get;set;}
之后,您可以删除类ProducerUser的声明。EF将为您生成它