asp.net - linq 求和与分组

标签 asp.net asp.net-mvc linq entity-framework

Possible Duplicate:
Dynamic Anonymous type in Razor causes RuntimeBinderException

我有这个 Linq 聚合查询

var GruposQ = from lcGrupos in db.Merlin_ConceptosFacturacion_Kit_Componentes
    where lcGrupos.NumIdConcepto == Item.NumIdConcepto & lcGrupos.BitComponenteVariable == true
    select lcGrupos;

var GruposList = from comps in GruposQ
     group comps by
     new
     {
         NumIdGrupoProducto = comps.NumIdGrupoProducto,
     } into g
     select new
     {
         NumIdTransaccion = NumIdTransaccion,
         NumIdGrupoProducto = g.Key.NumIdGrupoProducto,
         NumCantidad = g.Sum(x=>x.NumCantidad),
         Grupo = GruposQ.Where(x => x.NumIdGrupoProducto == g.Key.NumIdGrupoProducto)
     };


ViewBag.CompsKit = GruposList.ToList();

我的问题是当我尝试从 ViewBag.CompsKit 获取元素时:

@foreach (var myTrans in ViewBag.CompsKit)
{
    // Here it throws an error
    // 'object' does not contain a definition for 'NumIdtransaccion'

    <span>myTrans.NumIdtransaccion</span>
}

但是如果我查看这个对象,它就已经具有该属性了。

myTrans { NumIdTransaccion = 15460
            , NumIdGrupoProducto = 163
            , NumCantidad = 100,000
            , Grupo = System.Data.Common.Internal.Materialization.CompensatingCollection`1[ParadigmaNet.Areas.Items.Models.Merlin_ConceptosFacturacion_Kit_Componentes] }   dynamic {<>f__AnonymousType7<decimal,decimal?,decimal,System.Linq.IQueryable<ParadigmaNet.Areas.Items.Models.Merlin_ConceptosFacturacion_Kit_Componentes>>}

如何访问属性?在这个集合中?

最佳答案

您不能在 Razor View 中使用“动态”类型。

您必须使用类型化对象作为模型。

关于asp.net - linq 求和与分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13956003/

相关文章:

asp.net - WCF 服务与 ASP.NET Web Api

javascript - 如何从 javascript 打开新窗口并在关闭时从中获取值

c# - 设置特定 Pivot Item 的内容

c# - 第 2 组类似请求 Entity Framework/Linq in 1

asp.net-mvc - 从使用 https 的页面链接到不使用 https 的操作

c# - 错误 "The LINQ expression node type ' Invoke' is not supported in LINQ to Entities"in where clause in the method

c# - 代码中的无效表达式项错误

c# - 在 asp.net c# 中的事件目录中创建用户时,当我们在事件目录中嵌套 OU 时,如何提供标识 OU 的路径?

asp.net - 如何为 Asp.Net MVC 生成文档?

javascript - ASP.NET MVC - 更改选项卡 AJAX RenderAction