我不知道我在这方面缺少什么:我在我的 EDM 中有这种关系-(还不能加载图片)
类别_1_ _许多食谱类别_许多_ _1_食谱
基本上每个菜谱都有一个或多个类别,每个类别可以有 0 个或多个菜谱
这是我的代码:
private void LoadData()
{
List<Category> Categories = new List<Category>();
List<Recipe> Recipes = new List<Recipe>();
var ctx = new MaWEntities();
var query = from x in ctx.Categories select x;
Categories = query.ToList<Category>();
foreach (Category c in Categories)
{
TreeViewItem TVP = new TreeViewItem() { Header = c.CategoryName.ToString() };
var qq = from xx in ctx.RecipeCategories.Where(o => o.CategoryId == c.CategoryId) select xx;
foreach (var rc in qq)
{
TreeViewItem TVC = new TreeViewItem() { Header = rc.Recipe.RecipeName.ToString() };
TVP.Items.Add(TVC);
//TVP.IsExpanded = true;
}
}
}
我想要完成的是一个树视图,其父节点是类别名称,子节点是配方名称。我知道如何使用 Linq 从基表(Recipe 到 RecipeCategory)钻取关系表。还必须有一种方法可以再次遍历到 Category 表。我还应该提到,即使类别没有任何食谱,我仍然希望在树视图中将类别名称视为父级。