Запрос неверный. Это должно быть:
/find?Page=1&Firstname=foo&Surname=bar&Username=
Когда вы префиксируете все свои свойства с помощью SearchFilters, механизм привязки, скорее всего, ищет вложенное свойство, например searchFilters.SearchFilters.FirstName.
Таким образом, удаление префикса должнозаставить его работать.
Если вам действительно нужно использовать этот синтаксис в запросе;затем создайте другой класс, подобный этому:
public class SearchFilterContainer
{
public FindUsersSearchFilter SearchFilters { get; set; } = new FindUsersSearchFilter();
}
И передайте это в действии в качестве параметра вместо этого, например, так:
[HttpGet("find")]
[ProducesResponseType(typeof(PagableResults<UserDetails>), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
[SwaggerOperation("FindUsers")]
public async Task<IActionResult> FindUsers([FromQuery]SearchFilterContainer searchFilters)
Затем внутри вашего контроллера вы можете получить доступ к модели, подобной этой searchFilters.SearchFilters.FirstName