2013-12-11 45 views
0

你可以看到我以前的question哪些与多对多关系,但与自动生成的映射表。Asp.Net MVC使用多对多关系映射表

我有2个模型,HrTraining和HrPerson。任何人都可以被分配到一个或多个培训。你可以看到我的模型如下

public class HrTraining 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public virtual ICollection<HrMapTrainingPerson> HrMapTrainingPerson { get; set; } 
} 

public class HrMapTrainingPerson 
{ 
    public int Id { get; set; } 
    public string Status { get; set; } 
    public int HrTrainingId { get; set; } 
    public int HrPersonId { get; set; } 
    public virtual HrTraining HrTraining { get; set; } 
    public virtual HrPerson HrPerson { get; set; } 
} 

public class HrPerson 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public virtual ICollection<HrMapTrainingPerson> HrMapTrainingPerson { get; set; } 
} 

我如何能采取所有的培训对象,有效地分配给一个人。

回答

0

所以你想找个人,并得到所有的培训分配给它?有很多方法..但使用你的模型,这可能是这样的东西

var trPersons = dbContext.HrPerson.Find(idPerson).HrMapTrainingPerson.ToList(); 

foreach(var trPerson in trPersons) { 

    var training = trPerson.HrTraining; 

    //do what you want, here you can get trPerson.HrTraining.Name for instance 

}