class Person
{
public int Number { get; set; }
public string Name { get; set; }
public IList<string> PersonCourseNames { get;set;}
}
class PersonCourse
{
public int Id { get; set; }
public string Name { get; set; }
public int PersonId {get;set; } //reference key from Person
}
拥有IEnumerable人//其中空的PersonCourseNames 和 IEnumerable作为PersonCourses列表
如何获得类似的结果, 为匹配的PersonCourse填充PersonCourseName的人员列表。 //需要填充现有的对等项列表
var combined = from p in Persons join c in PersonCourses on p.Id equals c.PersonId
select new {} //here getting problem how to pouplate with list of course names
// notes:在IEnumerable
以上转换为ToList()。
答案 0 :(得分:1)
//assuming you have those two
IEnumerable<Person> persons;
IEnumerable<PersonCourse> personCourses;
var personCoursesGroupedByPerson = personCourses.ToLookUp(x => x.PersonId, x => x.Name);
foreach (var person in persons)
person.PersonCourseNames = personCoursesGroupedByPerson[person.Number].ToList();
此解决方案还假设PersonCourse.PersonId
= Person.Number
。
在这里您可以看到一个示例: https://dotnetfiddle.net/kW5Mep