【发布时间】:2021-02-07 14:52:28
【问题描述】:
我有一个 IEnumerable<Videos> 对象,我想在 IEnumerable 的多个字段中搜索单个搜索词,包括相关数据(标签)。
Video、VideoTags 和 Tag 对象如下所示
public class Video
{
public Guid Id {get; set;}
public string Name {get; set;}
public string Description {get; set; }
public ICollection<VideoTags> VideoTags {get; set;}
}
public class VideoTags
{
public Guid VideoId {get; set; }
public Video Video {get; set; }
public Guid TagId{get; set;}
public Tag Tag {get; set; }
}
public class Tag
{
public Guid Id {get; set; }
public string TagName {get; set;}
}
如何有效地在名称、描述和标记名称字段中搜索单个搜索词,如果其中任何一个包含搜索词,然后返回List<Tuple<string, string, string>>。
下面的代码不起作用
videos = videos.Where(v => v.Name.Contains(searchTerm) ||
v.Description.Contains(searchTerm) ||
v.VideoTags.Where(t => t.Tag.TagName.Contains(searchTerm))
我怎样才能做到这一点?
【问题讨论】:
-
你有什么错误吗?
-
运算符 ||不能应用于 bool 和 IEnumerable 类型的操作数
标签: c# linq asp.net-core