实体框架获取前10行

时间:2013-07-05 16:16:38

标签: asp.net-mvc entity-framework linq-to-sql linq-to-entities

我在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个类VideoTag,它们具有多对多关系。我需要帮助构建符合以下条件的LINQ to Entities或LINQ to SQL查询:

标签中排名前10的记录,主要使用这些记录。所以可能需要一些求和/计数/分组

1 个答案:

答案 0 :(得分:8)

如果你想找到标签数量最多的十大视频,你可能会觉得它更容易,但实际上你现在想做的事情是完全一样的。您只需要拥有最多视频数量的前10个标签。使用此:

var mostUsedTags = db.Tags.OrderByDescending(t => t.Videos.Count).Take(10);