Я работаю на конечной точке API, чтобы получить запрос тела следующего
public class UserSearch {
public string SearchText {
get; set;
}
public byte IsFaculty {
get; set;
}
public string UserName {
get; set;
}
}
У меня настроена конечная точка следующим образом
[HttpPost("search")]
public async Task<ActionResult<IEnumerable<Peoplefinder>>> SearchPeople([FromBody]UserSearch userSearch) {
var query = await _context.Peoplefinder.Where(search =>
search.FirstName.Contains(userSearch.SearchText) ||
search.LastName.Contains(userSearch.SearchText ) ||
search.Dept.Contains(userSearch.SearchText) ||
search.Preferredname.Contains(userSearch.SearchText) ||
search.Title.Contains(userSearch.SearchText) ||
search.UserId == userSearch.UserName &&
search.Isfaculty == userSearch.IsFaculty
).ToListAsync();
if(query == null || query.Count == 0) {
_logger.LogError("Query null or empty");
return NotFound();
}
return query;
}
Существует множество другихстолбцы в таблице, которые я мог бы найти как здание или местоположение, которое также является частью класса I, называется Peoplefinder
id, EmpID, UserID, LastName, FirstName, MI, Dept,Название, телефон, местоположение, здание, комната, MailStop, предпочтительное имя, ftpt, BD, empnumber, idcardnumber, isfaculty, campusabbr, builddate
Мой вопрос: как мне улучшить этот запрос?Я пытался передать свой Peoplefinder из тела, но не получилось, так как я не совсем уверен, как это сделать, что привело меня к созданию класса UserSearch , и просто собрал кучуиз операционных