Asp.net mvc 4 实体框架和MVC4:使用视图而不是基表在MVC视图中显示父子关系

Asp.net mvc 4 实体框架和MVC4:使用视图而不是基表在MVC视图中显示父子关系,asp.net-mvc-4,entity-framework-5,Asp.net Mvc 4,Entity Framework 5,在这种情况下,我希望循环数据库视图中的记录,并希望包含相关表中的子记录。当然,视图没有外键意义上的“相关表” 当我循环遍历基表的记录时,EF使包含相关子记录变得非常容易。但是,当视图是父视图时,它似乎失控了。我尝试手动创建db视图和相关表之间的关联,但这导致了映射错误,这是有意义的,因为数据库中确实没有(也不能)表示关系的外键 希望我的问题有意义——我想在MVC视图中显示父子关系,其中父IEnumerable对应于视图而不是基表。我想创建一个封装父子关系的ViewModel,但我不知道如何在控制

在这种情况下,我希望循环数据库视图中的记录,并希望包含相关表中的子记录。当然,视图没有外键意义上的“相关表”

当我循环遍历基表的记录时,EF使包含相关子记录变得非常容易。但是,当视图是父视图时,它似乎失控了。我尝试手动创建db视图和相关表之间的关联,但这导致了映射错误,这是有意义的,因为数据库中确实没有(也不能)表示关系的外键


希望我的问题有意义——我想在MVC视图中显示父子关系,其中父IEnumerable对应于视图而不是基表。

我想创建一个封装父子关系的ViewModel,但我不知道如何在控制器中加载父记录和子记录。我真正理解的是如何返回一个查询结果集。当我需要包含子记录时,我会迷路。事实上,我得到这个是为了与ViewModel一起工作。最困难的部分是Linq查询,因为我对Linq的使用非常不稳定,但我还是让它工作了。任何对代码感兴趣的人,请告诉我。public ViewResult Index(int?page=0){int pageSize=20;var query=db.AllRoutedDocuments.OrderByDescending(row=>row.DateCreated)。Skip(pageSize*(int)page)。Take(pageSize)。Select(row=>newrouteddocumentindexitem(){RoutedDocument=row,RoutingApprovals=db.RoutingApproval.Where(childRow=>childRow.RoutedDocumentID==row.ID)});返回视图(query.ToList());}