DotNet Core EF - Какой лучший способ поиска в базе данных - PullRequest
1 голос
/ 19 сентября 2019

Я работаю на конечной точке 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 , и просто собрал кучуиз операционных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...