繁体   English   中英

如何在 EF Core 中添加带有列表和逗号分隔字段的过滤器

[英]How to add a filter with a list and a comma separated field in EF Core

我正在使用 EF Core 3.1,在数据库端我有一个逗号分隔的列表字段(例如:“love,travel”)和一个接收字符串列表的 function,现在我需要一个使用字符串列表的过滤器逗号分隔的字段,我一直在尝试不同的方法,在运行时我遇到了一些异常,基本上 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 + ",")));

任何帮助,将不胜感激。

经过更多研究,我选择了 Gert 提供的解决方案,所以基本上我是拆分表添加了一个 ImageTag 表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM