dbRecipes
と呼ばれる配列があり、グループに分割されたレシピのリストが含まれています。たとえば、ディナーグループには、サケ、サラダ、マッシュポテトが入っている可能性があります。デザートグループにはチョコレート溶けた溶岩ケーキがあります。んー。私のような、グループ化されたリスト内のこれらのレシピを表示する必要が2つのLINQクエリを1つに結合する方法はありますか?
:dbRecipes
に各項目
Group 1:
- Recipe 1
- Recipe 2
Group 2:
- Recipe 3
は、それが中だどのグループに関する情報が含まれていGroup
プロパティが含まれている、との情報が含まれていますRecipe
プロパティレシピ。
LINQクエリを使用して全体を反復処理したいのですが、私はLINQのエキスパートではありません。したがって、私が見つけた最良の方法は、すべての個別のグループをクエリし、それらの1つここに私のコードは次のとおりです。
var groups = (from g in dbRecipes orderby g.Group.GroupOrder select g.Group).Distinct();
foreach (var g in groups)
{
output.Write("{0}<br/>", g.GroupName);
var recipes = (from r in dbRecipes where r.Group == g orderby r.DisplayOrder select r.Recipe);
foreach(var r in recipes)
{
output.Write("---{0}<br/>", r.Title);
}
}
これはかなりうまく動作するようだが、クリーナーおそらくより効率的だ、または複数のクエリを必要としない、これを行う方法はありますか?ありがとう!
それはここで答えは、プロバイダの知識を必要とすることであってもよく、これはどのLINQについて明示できますか? LINQ-to-SQL?エンティティフレームワーク? DbLinq? ADO.NET Data Services?何か? –
毎日LINQで切断されたオブジェクトを使用しています。私は特別なことは何も、私はDBプロバイダを使用していない。 –
ah、k; "db"プレフィックスによってスローされました。 LINQ-to-Objectsはかなり収容されているはずですが、 –