Использование Views в Tsql в Entity Framework core 2.2
Я покажу вам, как вы можете использовать представления в ядре 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 server
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.
Но тогда имя свойства должно совпадать с именем представления в SQL Server и именем столбца со свойствами класса.
public DbQuery<TeacherService> SelectNameAndDepartment { get; set; }
Теперь вы можете использовать его и получать данные.