2

メニューを操作するためのテーブルがいくつかあります。最初は MenuOfTheWeek で、次の情報があります。

menuOfTheWeekId, menuId, isMenuOfTheWeek, timestamp

テーブルメニューもあります:

menuId, userId 

および表 MenuRecipes と:

menuRecipesId, menuId, recipeId

メニューのタイトルとそのメニューにあるレシピのリストを選択したくありません。私はselectのようなものを書いていました

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 クラスでは、レシピのすべてのデータ (タイトル、ImagePath、評価、prepTime...) を保存しました。このレシピのリストを選択するための最良の方法は何ですか? おそらく、レシピ クラスを使用しない方が良いでしょう (このクラスの使用は必要ありません)...

私はかつてLinqDataSourceで同様のものを管理し、そこにselectを次のように書きます

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

ネストされたリストビューよりも、MenuRecipes を DataSource として配置できます。これは問題なく動作しますが、コード ビハインドで 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 に答える