Я пытаюсь применить запрос odata к моему autopper-отображению в моем контексте efcore. Все работает как положено, пока я не использую опцию запроса $ select.
Когда я пытаюсь использовать ключевое слово select в запросе к моему контроллеру odata, я получаю исключение:
Исключение SerializationException: 'SourceSourceInjectedQuery`2' не может быть сериализовано с использованием ODataMediaTypeFormatter.
Я использую метод UseAsDataSource - Extension, потому что он был рекомендован здесь, на github .
Это мой oDataController:
public class StudentsController : ODataController {
private readonly SchoolContext schoolContext;
public StudentsController(SchoolContext schoolContext) {
this.schoolContext = schoolContext;
}
[EnableQuery]
public IActionResult Get() {
return Ok(
schoolContext
.Students
.UseAsDataSource()
.For<StudentVM>()
);
}
}
Это моя сущность для EFCore:
public class Student {
public int ID { get; set; }
public string LastName { get; set; }
public string FirstMidName { get; set; }
public DateTime EnrollmentDate { get; set; }
public ICollection<Enrollment> Enrollments { get; set; }
}
А это мой картографический профиль для автомаппера:
public class StudentVM {
public int ID { get; set; }
public string LastName { get; set; }
public string FirstMidName { get; set; }
}
public class StudentProfile : Profile {
public StudentProfile() {
CreateMap<Student, StudentVM>();
}
}
Нужно ли для этого какое-то конкретное сопоставление?