Я покажу вам, как вы можете использовать Views в ядре EF.
У нас есть классы для учителей и факультетов.
Класс учителя
public class Teacher
{
public int TeacherId { get; set; }
public string FullName { get; set; }
public int DepartmentId { get; set; }
public Department Department { get; set; }
}
Класс отдела
public class Department
{
public int DepartmentId { get; set; }
public string DepartmentName { get; set; }
public List<Teacher> Teachers=>new List<Teacher>();
}
Теперь мы должны создать сервер View в Sql
SelectNameAndDpartment View
Create VIEW SelectNameAndDpartment AS SELECT FullName, DepartmentName FROM Departments as d INNER JOIN Teachers as t ON d.DepartmentId = t.DepartmentId GO
Затем мы создаем другой класс и получаем свойство в связанных классах
public class TeacherService
{
public string FullName { get; set; }
public string DepartmentName { get; set; }
}
Теперь мы используем свойство dbQuery в Dbcontext class
Но тогда имя свойства должно совпадать с именем представления в SQL Server и именем столбца со свойствами класса
public DbQuery<TeacherService> SelectNameAndDepartment { get; set; }
Теперь вы можете использовать его и получать данные.