Как добавить фильтр со списком и разделенным запятыми полем в EF Core - PullRequest
1 голос
/ 20 апреля 2020

Я использую EF Core 3.1, на стороне базы данных у меня есть разделенное запятыми поле списка (например: «любовь, путешествие») и функция, которая получает список строк, теперь мне нужен фильтр, использующий список За строкой над полем, разделенным запятыми, я пробовал разные подходы, во время выполнения я получаю некоторые исключения, в основном, linq для сущностей не поддерживает фильтр.

Таблица:

public class Image
{
    public string Id { get; private set; }

    public string Tags { get; private set; }
}

Я пытался что-то вроде:

var multiple = request.Tags.Split(new[] { ',' }).ToList();

images = images.Where(c => multiple.Contains(c.Tags));

images.Where(c => multiple.Any(t => c.Tags.Split(new[] { ',' }).ToList().Contains(t)));

images.Where(c => request.Tags.All(tag => ("," + c.Tags + ",").Contains("," + tag + ",")));

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 21 апреля 2020

После дополнительных исследований я выбрал решение, предоставленное Gert, поэтому в основном разделил таблицу, добавив таблицу ImageTag.

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