のユーザーがいDBSet<User>
ます。各ユーザーには一連DBSet<Activity>
のアクティビティがあります。各アクティビティ自体には、名前付きのカテゴリが 1 つまたはまったくありません。
public class User
{
[...]
DBSet<Activity> activity {get;set;}
}
public class Activity
{
[...]
Category category{get;set;}
}
public class Category
{
[...]
string Name {get;set;}
}
ここで、すべてのユーザーのリストを、アクティビティ内の特定のカテゴリ名の出現回数で並べ替えたいと考えています。つまり、カテゴリ内のアクティビティの数で並べ替えられたユーザーのリストが必要です。LINQ (ラムダ式) でそれを行うにはどうすればよいですか?
DBSet<User> users;
string cat="myCategory";
var usersByCategoryActivity = users.OrderByDescending(???);