現在のカテゴリのすべてのアイテムと、現在のカテゴリにリンクされているすべてのサブカテゴリを取得したいと思います。現在は再帰関数を使ってやっていますが、クエリを変更するだけでできるのではないかと思います。主な理由は、使用したいのですが、再帰を使用.Skip()
し.Take()
て最初にすべてのカテゴリを取得する必要がある場合でも、違いはありません。
データベース
私がやりたいことをする私の反省機能
public static IQueryable<Models.Item> Items(int id, List<Models.Item> items)
{
if (items == null)
{
items = new List<Item>();
}
ModelDataContext _db = new ModelDataContext();
var currentCategory = _db.Categories.Where(x => x.ID == id).Single();
items.AddRange(currentCategory.Items);
foreach (var c in currentCategory.Categories)
{
Items(c.ID, items);
}
return items.AsQueryable();
}
tl; dr;
カテゴリとサブカテゴリのすべてのアイテムを取得する再帰関数があります。LINQ自体だけで可能かどうか疑問に思います。