我有一个名为dbRecipes
的数组,其中包含分为组的菜谱列表。例如,晚餐组可能有三文鱼馅,沙拉和土豆泥。甜品小组会有一个巧克力融化的熔岩蛋糕。嗯。有没有办法将两个LINQ查询合并为一个?
我需要显示在分组列表中的这些食谱,如:
Group 1:
- Recipe 1
- Recipe 2
Group 2:
- Recipe 3
在dbRecipes
每个项都包含一个Group
财产,其中包含有关它在这组信息,以及Recipe
属性包含的信息配方。
我想使用LINQ查询遍历整个事情,但我远离LINQ专家,所以我发现的最好方法是查询所有不同的组,然后循环遍历每个其中一个。这里是我的代码:
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到SQL?实体框架?的DBLinq? ADO.NET数据服务?别的东西? – 2012-01-12 07:05:35
Plain ol'每天LINQ与断开的对象形成。没什么特别的,我没有使用任何DB提供程序。 – 2012-01-12 07:21:33
ah,k;被“db”前缀抛出; LINQ到对象应该是相当宽松的,然后 – 2012-01-12 07:22:43