多对多,父对象始终具有相同的子对象

时间:2019-04-24 14:31:52

标签: wpf many-to-many

我有两个通过多对多关系关联的对象,其中父对象始终具有相同的子对象,只是数量会改变。

这是它的建模方式:

public class Camp : BaseModel
{   
    [Key, DatabaseGenerated( DatabaseGeneratedOption.Identity ), Column( Order = 0 )]
    public int CampID { get; set; }

    [Required]
    public string Name { get; set; }

    [MaxLength( 50 )]
    public string Location { get; set; }

    public virtual ICollection<CampStaffPosition> CampStaffPositions { get; set; }  
}

public class StaffPosition
{
    [Key, DatabaseGenerated( DatabaseGeneratedOption.Identity ), Column( Order = 0 )]
    public int StaffPositionID { get; set; }

    public string Position { get; set; }

    public virtual ICollection<CampStaffPosition> CampStaffPositions { get; set; }  
}

public class CampStaffPosition : BaseModel
{
    // This is a Join Table for a many-to-many relationship between Camps and StaffPositions    

    [Key, Column( Order = 0 )]
    public int CampID { get; set; }

    [Key, Column( Order = 1 )]
    public int StaffPositionID { get; set; }

    public virtual Camp Camp { get; set; }

    public virtual StaffPosition Position { get; set; }

    public int Quantity { get; set; }
}

营地将始终具有相同的StaffPositions,但数量将取决于营地。当我添加营地时,用户还应该为每个职位填写所需的数量,但是我在努力做到这一点上很挣扎。

首先,这是对这种情况进行建模的最好方法吗?其次,如何显示StaffPositions,以便用户可以添加数量?我尝试单独添加它们,但无法同时获得阵营和FK在联接表中的位置。抱歉,我真的很困惑。

0 个答案:

没有答案