2

我有一些用于处理菜单的表格,首先是 MenuOfTheWeek,其中我有以下信息:

menuOfTheWeekId, menuId, isMenuOfTheWeek, timestamp

我也有表菜单:

menuId, userId 

和表 MenuRecipes:

menuRecipesId, menuId, recipeId

我不想选择菜单标题和该菜单中的食谱列表。我正在写选择类似的东西

var result = context.Menu
             .Where(x => x.MenuOfTheWeek.Where(mw => mw.isMenuOfTheWeek == true))
             .Select(x => new
             {
                 title = x.MenuTranslation.FirstOrDefault().title,
                 List<Recipe> menuRecipes = x.MenuRecipes ...
             };

在Recipe 类中,我存储了recipe 的所有数据(标题、ImagePath、评级、prepTime ...)。选择这个食谱列表的最佳方法是什么,也许我不使用我的食谱类更好(不需要使用这个类)......

我曾经用 LinqDataSource 管理过一些类似的事情,并在那里写 select

Select="new (key as title, it as MenuRecipes, Count() as Count)" and GroupBy...

与嵌套列表视图相比,我可以将 MenuRecipes 作为数据源。这很好用,但我确信我也可以在代码隐藏中使用 LINQ 编写它,而且我也不想学习关于这些选择的一些新东西......

谢谢您的帮助!

4

1 回答 1

1
var result = (from p in context.MenuOfTheWeekSet
    .Include("MenuRecipes")
    .Include("Recipe")
    where p.isMenuOfTheWeek
    select p.Menu).FirstOrDefault();

foreach (MenuRecipes r in result.MenuRecipes)
{
    Console.WriteLine(r.Recipe.recipeId);
}

模型

假设您的模型与图片中的一样。然后像这样的东西应该可以解决问题。然后你会得到菜单,你可以访问该菜单的食谱。

于 2013-05-29T12:38:02.413 回答