C# 如何在EF Core中添加带有列表和逗号分隔字段的筛选器
我正在使用EF Core 3.1,在数据库端,我有一个逗号分隔的列表字段(例如:“love,travel”)和一个接收字符串列表的函数,现在我需要一个过滤器,使用逗号分隔字段上的字符串列表,我一直在尝试不同的方法,在运行时我遇到一些异常,基本上,linq to实体不支持过滤器 表:C# 如何在EF Core中添加带有列表和逗号分隔字段的筛选器,c#,linq,entity-framework-core,C#,Linq,Entity Framework Core,我正在使用EF Core 3.1,在数据库端,我有一个逗号分隔的列表字段(例如:“love,travel”)和一个接收字符串列表的函数,现在我需要一个过滤器,使用逗号分隔字段上的字符串列表,我一直在尝试不同的方法,在运行时我遇到一些异常,基本上,linq to实体不支持过滤器 表: public class Image { public string Id { get; private set; } public string Tags { get; private set;
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表格。经过更多的研究,我选择了Gert提供的解决方案,因此,基本上我拆分了这个表,添加了一个ImageTag表。您应该修改数据库和类模型以使其正常工作。引入一个
标记
实体,该实体与图像
具有多对多关系。谢谢你,Gert,这是我的一个想法,但我想确定当前数据库模型是否可以进行查询。你应该修改数据库和类模型以使其正常工作。介绍一个与图像具有多对多关系的标记
实体。谢谢你,Gert,这是我的一个想法,但我想确定当前数据库模型是否可以进行查询。