Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何在asp.net mvc视图中通过查询获取linq到sql组?_Asp.net Mvc_Vb.net_Linq To Sql_Group By - Fatal编程技术网

Asp.net mvc 如何在asp.net mvc视图中通过查询获取linq到sql组?

Asp.net mvc 如何在asp.net mvc视图中通过查询获取linq到sql组?,asp.net-mvc,vb.net,linq-to-sql,group-by,Asp.net Mvc,Vb.net,Linq To Sql,Group By,对于新手的问题,我很抱歉,但是我有下面的查询按车库对停车位进行分组,但是我不知道如何在视图中迭代数据。我想我应该强烈地输入视图,但我是一个新手,在理解这一点上有很多问题。任何帮助都将不胜感激 Public Function FindAllSpaces() Implements ISpaceRepository.FindAllSpaces Dim query = _ From s In db.spaces _ Order By s.name Ascending _

对于新手的问题,我很抱歉,但是我有下面的查询按车库对停车位进行分组,但是我不知道如何在视图中迭代数据。我想我应该强烈地输入视图,但我是一个新手,在理解这一点上有很多问题。任何帮助都将不胜感激

    Public Function FindAllSpaces() Implements ISpaceRepository.FindAllSpaces
    Dim query = _
    From s In db.spaces _
    Order By s.name Ascending _
    Group By s.garageid Into spaces = Group _
    Order By garageid Ascending

    Return query

End Function

控制器按原样接收查询对象并将其放入viewdata.model中,如前所述,视图当前不是强类型的,因为我还不知道如何执行此操作。我已经在linqpad中成功运行了查询。

只需让您的ViewPage继承T为IEnumerable(或任何您的模型)的通用ViewPage即可


如果希望强类型视图,则需要将FindAllSpaces的结果放入一个对象中,然后返回到视图中

因此,您可能有一个名为Spaces的对象,它有一个say类型的属性
IQueryable
,称为Spaces

然后在您的视图中,您可以通过
Model.Spaces
foreach(Model.Spaces中的var空间)

更好的是,从查询返回的每个记录都是一个对象,其本身的权限称为空间

因此,现在您的对象空间有一个名为
public IQueryable Spaces{get;set;}

现在,在您的视图中,您将继承自
,现在可以像这样对foreach(Model.Spaces中的空格)
进行写入


最后一步是将每个“空格”转换为一个PartialView,它继承自

好的,这样做了,现在我得到了intellisense中显示的属性,但没有找到group by的“键”。你能举个例子说明你希望你的输出是什么样子的吗?
 <%@Page ... Inherits="System.Web.Mvc.ViewPage<IEnumerable<Space>> ... %>