Я получаю последние 20 обновленных записей в базе данных, используя следующее
var files = (from f in filesContext.Files
join ur in filesContext.aspnet_Roles on f.Authority equals ur.RoleId
join u in filesContext.aspnet_Users on f.Uploader equals u.UserId
orderby f.UploadDate descending
select new FileInfo { File = f, User = u, UserRole = ur }).Take(20);
Затем я делю результаты на мой взгляд:
<%foreach(var group in Model.GroupBy(f => f.UserRole.RoleName)) {%>
//output table here
Это хорошо, так как для каждой из моих ролей отображается таблица. Однако, как и ожидалось, я получаю последние 20 записей в целом, как я могу получить последние 20 записей для каждой роли?
Итак, я получаю:
UserRole1
// Последние 20 записей, относящихся к этому UserRole1
UserRole2
// Последние 20 записей, относящихся к этому UserRole2
UserRole3
// Последние 20 записей, связанных с этим UserRole3