C# C LINQ:获取每行的计数

C# C LINQ:获取每行的计数,c#,sql,linq,C#,Sql,Linq,这里是检索my base中所有comptes的查询 我想在对象GridCompte中添加一个数字,以便对列表1,2,3…中的元素进行计数: var comptes = (from c in Comptes join s in Societies on c.IdSoc equals s.IdSoc select new GridCompte {

这里是检索my base中所有comptes的查询

我想在对象GridCompte中添加一个数字,以便对列表1,2,3…中的元素进行计数:

var comptes = (from c in Comptes                           
               join s in Societies on c.IdSoc equals s.IdSoc    
               select new GridCompte
               {
                   SocCompteId = c.IdCompte,                               
                   Name = c.Name,
                   Nb = ??? COUNT ???,
                   .....
                   SocName = s.Name
               }).ToList();
我试着使用团体陈述,但没有达到我的目标


有什么建议吗

首先只为要获取的字段准备linq

var comptes = from c in Comptes                           
                   join s in Societies on c.IdSoc equals s.IdSoc    
                   select new 
                   {
                       SocCompteId = c.IdCompte,                               
                       Name = c.Name,                        

                       .....
                       SocName = s.Name
                   };
现在使用Select中提供的索引选项

var finalComptes =  (comptes.AsEnumerable()
                .Select((comptes, index) => new GridCompte()
                        {
                            SocCompteId = c.IdCompte,                               
                            Name = c.Name,
                            Nb = index + 1,

                            .....
                            SocName = s.Name                               
                        }).ToList();

你能详细说明一下吗?你想数一数的名单是什么?它从哪里来?我已经尝试过使用第二次查询,但问题是我有10k的数据,如果我进行第二次查询,性能没有得到优化。我已经使用了这个解决方案多查询,问题是我有10k的数据,如果我进行第二次查询,性能没有得到优化。