Имам два списъка, които споделят общо поле. Бих искал да се присъединя към списъците в общото поле, но един от списъците идва от SQL динамична опорна точка, така че всички имена на колони от този списък, с изключение на полето за свързване, имат неизвестни имена на колони. Въпросът ми е как да намеря тези имена на колони, за да мога да създам новия списък?
Пример
class Student
{
int StudentID {get; set;}
string FirstName {get; set;}
string LastName {get; set;}
}
studentCollection е колекция от ученици
Използвам class ReportRanking
тук като пример. Това е dynamic
клас, който се връща от съхранена процедура, която използва динамична опорна точка. Така че не знам имената на колоните предварително. Използвам TestScore-1
, TestScore-2
и т.н. като контейнери, за да покажа какво се връща. Имената на колоните ще съдържат името на теста, който ученикът е положил. Стойността в колоната ще бъде резултатът, който са получили.
class StudentTestScores
{
int StudentID {get; set;}
int TestScore-1 {get; set;}
int TestScore-2 {get; set;}
int TestScore-3 {get; set;}
...
}
testResultCollection е колекция от StudentScores.
+-----------+---------+----------+----------+---------+
| StudentId | History | Algebra | Geometry | Biology |
+-----------+---------+----------+----------+---------+
| 1 | 88 | 96 | 87 | 91 |
+-----------+---------+----------+----------+---------+
| 2 | 92 | 75 | 88 | 74 |
+-----------+---------+----------+----------+---------+
Тъй като резултатите идват от динамичен пивот, не знам по време на компилиране какви са имената на колоните в StudentTestScores. Те представляват името на теста, положен от ученика. Как да направя препратка към името на колоната, за да мога да комбинирам списъците в нов съставен списък?
var testResults = from student in studentCollection
join testResult in testResultCollection
on student.StudentId equals testResult.StudentId
select new {
student.StudentId,
student.FirstName,
student.LastName,
testResult.XXXXXXX // Not sure how to reference the test scores
...
}
Това е, с което трябва да завърша...
+-----------+-----------+----------+---------+---------+----------+---------+
| StudentId | FirstName | LastName | History | Algebra | Geometry | Biology |
+-----------+-----------+----------+---------+---------+----------+---------+
| 1 | Bob | Smith | 88 | 96 | 87 | 91 |
+-----------+-----------+----------+---------+---------+----------+---------+
| 2 | Sally | Jenkins | 92 | 75 | 88 | 74 |
+-----------+-----------+----------+---------+---------+----------+---------+