我在SQL数据库中有3个表
tblVideos :
VideoID int PK
Title varchar(100)
Decription varchar(100)
tblTags :
TagID int PK
TagText varchar(100)
tblVideosToTags :
VideoID int PK, FK to Videos
TagID int PK, FK to Tags
在Entity Framework(v6-latest-nightly-build)中,我有2个类Video
和Tag
,它们具有多对多关系。我需要帮助构建符合以下条件的LINQ to Entities或LINQ to SQL查询:
标签中排名前10的记录,主要使用这些记录。所以可能需要一些求和/计数/分组
答案 0 :(得分:8)
如果你想找到标签数量最多的十大视频,你可能会觉得它更容易,但实际上你现在想做的事情是完全一样的。您只需要拥有最多视频数量的前10个标签。使用此:
var mostUsedTags = db.Tags.OrderByDescending(t => t.Videos.Count).Take(10);