Linq to Sql通过标签搜索

时间:2014-12-02 15:00:17

标签: c# linq linq-to-sql

好的,我有这些表:

视频

  • Id
  • 标题

VideoTag

  • 编号
  • VIDEOID
  • TAGID

代码

  • 编号
  • 名称

我需要一个LINQ to SQL查询来对视频执行搜索通过标题或标签执行

目前我所拥有的只是通过标题搜索:

IQueryable<Video> videos =
    from v in ctx.Videos
    where v.Title.Contains(SearchString)
    select
    new Video
    {
        Id = v.Id,
        Title = v.Title
    };

1 个答案:

答案 0 :(得分:1)

试试这个:

from v in ctx.Videos
join vt in ctx.VideoTags on v.Id equals vt.VideoId
join t in ctx.Tag on vt.TagId equals t.Id
where v.Title.Contains(SearchString) || t.Name.Contains(SearchString)
select
    new Video
    {
        Id = v.Id,
        Title = v.Title
    };