Asp.net mvc Asp.net MVC-LINQ和层次结构数据
我有一个包含这两个表的数据库Asp.net mvc Asp.net MVC-LINQ和层次结构数据,asp.net-mvc,linq,Asp.net Mvc,Linq,我有一个包含这两个表的数据库 ProductCategory IDCat Name Description ProductSubCategories IDSub Name IDCat 此表与trought IDCat相关 如何使用LINQ检索按类别分组的类别和子类别列表 在我的PartialView中,我想创建一个包含以下类别和子类别的菜单: Category1 SubCategory1 SubCategory2 SubCategory3 Ca
ProductCategory
IDCat
Name
Description
ProductSubCategories
IDSub
Name
IDCat
此表与trought IDCat相关
如何使用LINQ检索按类别分组的类别和子类别列表
在我的PartialView中,我想创建一个包含以下类别和子类别的菜单:
Category1
SubCategory1
SubCategory2
SubCategory3
Category2
SubCategory1
SubCategory2
SubCategory3
Category3
SubCategory1
MyDataContext db=newmydatacontext();
IQueryable categories=db.categories;
foreach(类别中的c类){
Console.WriteLine(c.Name);
foreach(c.ProductSubCategories中的ProductSubCategories子类){
Console.Writeline(子名称);
}
}
编辑以将答案置于视图格式中
<% foreach (Category c in Model){ %>
<%= Html.Encode(c.Name) %> <br />
<% foreach (ProductSubCategories sub in Model.Categories){ %>
<%= Html.Encode(sub.Name) %> <br />
<% } %>
<%} %>
这应该是可行的(或者很接近),但我已经测试了Notes语法。请注意,正如其他人所指出的,必须正确设置主键和外键才能使其工作。如果在DB中正确设置PK-FK,LINQ to SQL将为您执行对象关联。因此,ProductCategory中将有一个属性作为ProductSubCategory的EntitySet
关键是您的DB PK-FK ref必须是正确的,LINQ代码生成器才能获取此值。您使用的是哪种LINQ提供程序?LINQ到SQL?LINQ到实体?
<% foreach (Category c in Model){ %>
<%= Html.Encode(c.Name) %> <br />
<% foreach (ProductSubCategories sub in Model.Categories){ %>
<%= Html.Encode(sub.Name) %> <br />
<% } %>
<%} %>