Entity Framework fetch Top 10 rows

asp.net-mvc entity-framework linq-to-entities linq-to-sql

Question

I have a 3 tables in SQL database

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

In Entity Framework (v6-latest-nightly-build) I have 2 classes Video and Tag with many-to-many relationships. I need a help with building a LINQ to Entities or LINQ to SQL query which meets following conditions:

Top 10 records from Tags, which is mostly used. So probably some summing/count/grouping needed

1
3
7/5/2013 4:52:38 PM

Accepted Answer

If you wanted to find the top 10 Videos with the most number of Tags, you would probably find it easier, but in fact what you want to do now is exactly the same. You just need the top 10 Tags with the most number of Videos. Use this:

var mostUsedTags = db.Tags.OrderByDescending(t => t.Videos.Count).Take(10);
10
7/5/2013 6:15:06 PM


Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow