有一个数据表,我用的是linq的语法查询值为‘....’的数据
目前写的是查询全部语法如下,请在此基础上,给出相应的条件语句result=Ext.GetDoneListData(GurrentUser.ID).GroupBy(item=>new {item.VirtualPath,
item.ProcID}).Select(item=>item.First()).OrderByDescending(item=>item.FinishTime);解释一下吧,result不用说了,返回现实的值
Ext,是封装好的类对象,用来放两个视图的,
GetDoneListData(GurrentUser.ID),就是所在视图对应的方法,然后带参数的
后边VirtualPath,ProcID,FinishTime为列名!
现在就是不要全部查询了,要有个条件查询,我是这么写的,但是跟在sql里查出来的不一样,不对result=Ext.GetDoneListData(GurrentUser.ID).GroupBy(item=>new {item.VirtualPath,
item.ProcID}).Select(item=>item.First()).where(item=>item.CurrentActi=="....").OrderByDescending(item=>item.FinishTime);求高手指点哪里错了。..netlinqsqlwhere

解决方案 »

  1.   

    没看懂你要查什么,怎么和sql查询的不一样,哪不一样
      

  2.   

    result=Ext.GetDoneListData(GurrentUser.ID).GroupBy(item=>new {item.VirtualPath,
    item.ProcID}).Select(item=>item.First()).OrderByDescending(item=>item.FinishTime);
    查询出来是你想要得不
      

  3.   

    result=Ext.GetDoneListData(GurrentUser.ID).Where(item=>item.CurrentActi=="....").GroupBy(item=>new {item.VirtualPath,item.ProcID}).Select(item=>item.First()).OrderByDescending(item=>item.FinishTime);先过滤再分组查询排序
      

  4.   

    不是呀,
    打个比方说,这个查出来是id为1到10的数据.我现在只要ID为3的数据,用上边那个用法实现,因为其他地方用到这里,所以这个语法从整体上不能改变!
      

  5.   

    result=Ext.GetDoneListData(GurrentUser.ID).GroupBy(item=>new {item.VirtualPath,
    item.ProcID}).where(item=>item.CurrentActi=="....").OrderByDescending(item=>item.FinishTime).FirstOrDefault();
      

  6.   

    TIM不是说了?先过滤再分组
    result=Ext.GetDoneListData(GurrentUser.ID).Where(item=>item.CurrentActi=="....").GroupBy(item=>new {item.VirtualPath,
    item.ProcID}).Select(item=>item.First()).OrderByDescending(item=>item.FinishTime);