Asp.net 使用实体框架在MVC中将参数化列表传递给视图

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

在一个MVC项目中,我试图创建一个视图,该视图的标题来自父表,其下的后续列表来自相关的子表

我使用实体框架将表拉入项目,并在控制器名称空间中创建了以下Viewmodel:

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>
      
      <% } %>
      
      
      <% } %>
      
      
      
        ****