ASP.NET Core Linq запрос для списков - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть этот запрос, который был недавно изменен, чтобы разрешить поиск с использованием списков.Однако логика кажется неправильной.Моя первоначальная логика поиска была следующей:

data = data.where(u=>u.location.contains(FilterInput.RepositoryName)).ToList();

Это работало для отдельных входов, и логика имела смысл.В результатах данных проверьте, содержит ли поле местоположения переменную ввода

. Однако для обработки входов, являющихся списками, мне пришлось изменить его на нижний код, который находится в этом списке ввода, проверить, содержит ли онполе местоположения.

База данных выводит данные следующим образом:

Output = {arhde, brhje, ckio}

Это означает, что мой список ввода представляет собой небольшую часть того, чтобаза данных содержит.

FilterInput.RepositoryName = {a,b,c}

data = (from item in dbContext.Documents
        join id in initialData
        on item.Id equals id.DocumentId
        select new DocumentsListViewModel
        {
            Id = item.Id,
            Name = item.Name,
            ApplicationName = item.ApplicationName,
            ApplicationSecretKey = item.ApplicationSecretKey,
            Link = item.Link,
            Location = item.Location,
            FileType = item.FileType,
            CreatedOn = item.CreatedOn
        }).ToList();

if (FilterInput.RepositoryName.Count>0)
{
    data = data.Where(u => FilterInput.RepositoryName.Contains(u.Location)).ToList();
}

Не знаю, возможно ли изменить эту логику, чтобы использовать первую, но можно также разместить списки?

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