我有一个包含这两个表的数据库
ProductCategory
IDCat
Name
Description
ProductSubCategories
IDSub
Name
IDCat
此表与IDCat相关。
如何使用LINQ检索按类别分组的类别和子类别列表?
在我的PartialView中,我想创建一个包含Category和SubCategories的菜单,如下所示:
Category1
SubCategory1
SubCategory2
SubCategory3
Category2
SubCategory1
SubCategory2
SubCategory3
Category3
SubCategory1
答案 0 :(得分:0)
MyDataContext db=new MyDataContext();
IQueryable<ProductCategory> categories= db.Categories;
foreach (Category c in categories){
Console.WriteLine (c.Name);
foreach (ProductSubCategories sub in c.ProductSubCategories){
Console.Writeline (sub.Name);
}
}
修改以视图格式
进行回答<% foreach (Category c in Model){ %>
<%= Html.Encode(c.Name) %> <br />
<% foreach (ProductSubCategories sub in Model.Categories){ %>
<%= Html.Encode(sub.Name) %> <br />
<% } %>
<%} %>
这应该工作(或接近),但我已经注意到了语法测试。请注意,正如其他人指出的那样,必须正确设置主键和外键才能使其正常工作。
答案 1 :(得分:0)
如果在DB中正确设置PK-FK,LINQ to SQL将为您执行对象关联。因此,ProductCategory中将有一个属性作为ProductSubCategory的EntitySet。
关键是你的DB PK-FK ref必须正确,LINQ代码生成器才能选择它。