Asp.net 使用实体框架在MVC中将参数化列表传递给视图
在一个MVC项目中,我试图创建一个视图,该视图的标题来自父表,其下的后续列表来自相关的子表 我使用实体框架将表拉入项目,并在控制器名称空间中创建了以下Viewmodel:Asp.net 使用实体框架在MVC中将参数化列表传递给视图,asp.net,asp.net-mvc,entity-framework,view,controller,Asp.net,Asp.net Mvc,Entity Framework,View,Controller,在一个MVC项目中,我试图创建一个视图,该视图的标题来自父表,其下的后续列表来自相关的子表 我使用实体框架将表拉入项目,并在控制器名称空间中创建了以下Viewmodel: public class ServicesViewModel { public ServicesViewModel(List<ServiceGroup> servicegroups, List<Service> services) { this.ServiceGroups
public class ServicesViewModel
{
public ServicesViewModel(List<ServiceGroup> servicegroups, List<Service> services)
{
this.ServiceGroups = servicegroups;
this.Service = services;
}
public List<ServiceGroup> ServiceGroups { get; set; }
public List<Service> Service { get; set; }
}
..并且认为:
public ActionResult Index()
{
var servicegroups = _db.ServiceGroupSet.ToList();
var services = _db.ServiceSet.ToList();
return View(new ServicesViewModel(servicegroups,services));
}
" %>
其他html代码等
它连接正常,但为每个父记录运行所有子记录。我不知道如何将过滤到视图中的参数放入视图中
我在控制器中尝试了linq查询,但似乎无法在intellisense中找到外键字段。Hmmm 但是如果您的服务和服务组确实有自己的导航属性(EF或LINQ2SQL)。 您只需传递ServiceGroups以查看,然后使用导航属性ServiceGroup.Services来枚举详细信息
<% foreach (var m in Model.ServiceGroups) { %>
<strong><ul> <%= m.ServiceGroupName %></ul></strong>
**<% foreach (var item in m.Services) { %>**
<li> <%= item.ServiceDescription %></li>
<% } %>
<% } %>
****
Hmmm
但是如果您的服务和服务组确实有自己的导航属性(EF或LINQ2SQL)。
您只需传递ServiceGroups以查看,然后使用导航属性ServiceGroup.Services来枚举详细信息
<% foreach (var m in Model.ServiceGroups) { %>
<strong><ul> <%= m.ServiceGroupName %></ul></strong>
**<% foreach (var item in m.Services) { %>**
<li> <%= item.ServiceDescription %></li>
<% } %>
<% } %>
****