У меня есть следующий класс:
public class Student : StudentInfo
{
public School School { get; set; }
}
public abstract class School
{
public string SchoolName { get; set; }
public string SchoolAddress { get; set; }
}
public abstract class StudentInfo
{
public string StudentName { get; set; }
public string StudentAge { get; set; }
public string StudentGender { get; set; }
public Relationship StudentRelationship { get; set; }
}
public abstract class Relationship
{
public string StudentMotherName { get; set; }
public string StudentFatherName { get; set; }
}
И у меня есть следующий запрос SQL, который возвращает все необходимые данные и готов к связыванию с классами выше, я делаю это следующим образом:
private List<Student> StudentList()
{
var students = new List<Student>();
using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString))
{
conn.Open();
string query = "SELECT a.[StudentName], a.[StudentAge], a.[StudentGender], a.[StudentMotherName], a.[StudentFatherName], b.[SchoolName], b.[SchoolAddress]
FROM [Student] a WITH (NOLOCK) INNER JOIN [School] b WITH (NOLOCK) ON a.[StudentID] = b.[StudentID]";
using (var cmd = new SqlCommand(query, conn))
{
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
students.Add
(
new Student
{
StudentName = reader["StudentName"].ToString(),
StudentAge = reader["StudentAge"].ToString(),
StudentGender = reader["StudentGender"].ToString()
}
);
}
}
}
}
return students;
}
Я запутался в том, как связать объекты в StudentInfo и School и Relationship class, так как я просто создаю экземпляр класса Student.
Любая помощь будет высоко ценится.
Спасибо