Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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
C# DbExpressionBinding要求输入表达式在ASP.NET MVC中具有集合结果类型_C#_Asp.net Mvc_Entity Framework - Fatal编程技术网

C# DbExpressionBinding要求输入表达式在ASP.NET MVC中具有集合结果类型

C# DbExpressionBinding要求输入表达式在ASP.NET MVC中具有集合结果类型,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我收到此错误DbExpressionBinding需要一个具有集合ResultType的输入表达式。当谈到使用ASP.NET MVC时,我仍然非常不了解,所以我不理解发生了什么以及为什么会出现这个错误。一直在搜索论坛,但没有什么是真正有意义的。使用ADO.Net实体模型。实体框架6 控制器 readonly StatsEntity1 _db = new StatsEntity1(); public ActionResult Index() { var statsC = (from n

我收到此错误DbExpressionBinding需要一个具有集合ResultType的输入表达式。当谈到使用ASP.NET MVC时,我仍然非常不了解,所以我不理解发生了什么以及为什么会出现这个错误。一直在搜索论坛,但没有什么是真正有意义的。使用ADO.Net实体模型。实体框架6

控制器

readonly StatsEntity1 _db = new StatsEntity1();

public ActionResult Index()
{
    var statsC = (from n in _db.WKLY_STATSTC
                  where n.TERM == "14"&& n.GRP=="C"
                  select n.TERM into w
                  select new { Count = w.Count() });

    var statsN = (from n in _db.WKLY_STATSTC
                  where n.TERM == "14" && n.GRP == "N"
                  select n.TERM into w
                  select new { Count = w.Count() });

    ViewBag.StatsC = statsC;
    ViewBag.StatsN = statsN;
    return View("Index");
}
查看

@model IEnumerable<Reports.Models.WKLY_STATSTC>
<table>
    <tr>
        <td>@ViewBag.StatsC</td>
        <td>@ViewBag.StatsN</td>
    </tr>
</table>
@model IEnumerable
@ViewBag.StatsC
@ViewBag.StatsN

您可能需要的是获取查询的计数

       var statsC = (from n in _db.WKLY_STATSTC
                    where n.TERM == "14" &&
                            n.GRP == "C"
                    select n.TERM).Count();

        var statsN = (from n in _db.WKLY_STATSTC
                     where n.TERM == "14" &&
                             n.GRP == "N"
                     select n.TERM).Count();
除非你真正需要的是
n.Term
长度数组

       var statsC = (from n in _db.WKLY_STATSTC
                    where n.TERM == "14" &&
                            n.GRP == "C"
                    select n.TERM into w

                    select new { Count = w.Length }).ToArray();

        var statsN = (from n in _db.WKLY_STATSTC
                     where n.TERM == "14" &&
                             n.GRP == "N"
                     select n.TERM into w

                     select new { Count = w.Length }).ToArray();

第一个做到了。只需要简单的计数并将结果返回到视图中的表中。谢谢大家!@miagriff,在这种情况下,也可以省略
select n.TERM