Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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# 具有Group By和rownum的LINQ_C#_Linq_Oracle - Fatal编程技术网

C# 具有Group By和rownum的LINQ

C# 具有Group By和rownum的LINQ,c#,linq,oracle,C#,Linq,Oracle,我有一个如下所示的Oracle SQL查询,希望LINQ相等 SELECT ROWNUM rn, tmp.* FROM (SELECT tbl.name, SUM(tbl.debit) FROM table1 tbl GROUP BY tbl.name) 非常感谢我想你可以这样做,使用索引的重载 这里,rn表示这个索引,它是。。。行号 var result = <someWayToGetTa

我有一个如下所示的Oracle SQL查询,希望LINQ相等

SELECT ROWNUM rn, 
       tmp.* 
FROM   (SELECT tbl.name, 
               SUM(tbl.debit) 
        FROM   table1 tbl 
        GROUP  BY tbl.name) 

非常感谢

我想你可以这样做,使用
索引的重载

这里,
rn
表示这个
索引,它是。。。行号

var result = <someWayToGetTable1>.GroupBy(m => m.Name)
.Select(m => new {
   name = m.Key,
   allDebit = m.Sum(x => x.debit),
})
.ToList()
.Select((m, rn) => new {
    m.name,
    m.allDebit,
    rn
});
var result=.GroupBy(m=>m.Name)
.选择(m=>new{
name=m.Key,
allDebit=m.Sum(x=>x.debit),
})
托利斯先生()
.选择((m,rn)=>新建{
m、 名字,
m、 allDebit,
注册护士
});
部分语法不流畅的版本

 var queryable= from item in <Table1>
                 group item by item.name into g
                 select new {
                    name =m.Key,
                    allDebit = m.Sum(x => x.debit
                 }
   var result = queryable.ToList()
                 .Select((g, rn) => new {
                      g.name,
                      g.allDebit
                      rn
                  });
var queryable=来自中的项
按item.name将项分组到g中
选择新的{
name=m.Key,
allDebit=m.Sum(x=>x.debit
}
var result=queryable.ToList()
.选择((g,rn)=>新建{
g、 名字,
g、 allDebit
注册护士
});

我想你想要这样的东西:

YourDataContext.tbls.GroupBy(a => a.name)
.select((a, index) => new
{
    rn = index,
    name = a.Key,
    debitSum = a.Sum(b => b.debit)
});

plz在非链接方法中回答。使用
Expression@lazyberezovsky必须承认我不确定这一点。对于ehsan,看看你能做什么。并非所有的事情都可以用不流畅的语法来完成(据我所知)。我尝试var model=(_db2.Persons.Select((x,index)=>new{rn=index+1,col1=x.Id}).ToList();但是现在,我有一个错误:LINQ to Entities无法识别方法'System.LINQ.IQueryable`1 method,并且该方法无法转换为存储表达式。@ehsan请参阅“已编辑的第二版本”似乎对于Oracle,您无法在db级别执行此操作,因此需要首先枚举…我尝试var model=(_db2.Persons.Select((x,index)=>new{rn=index+1,col1=x.Id})).ToList();但是现在,我有一个错误:LINQ to Entities无法识别方法'System.LINQ.IQueryable'1 method,并且无法将此方法转换为存储表达式。