C# “如何绕过”不能使用两个查询多次枚举

C# “如何绕过”不能使用两个查询多次枚举,c#,C#,下面的代码正在第二个ToList()上抛出“不能枚举多次”。修复此错误的最佳方法是什么 var firstQuery = (from r in db.SomeProcedure(Id) select new MyClass { Id = r.Id, Name = r.Name,

下面的代码正在第二个ToList()上抛出“不能枚举多次”。修复此错误的最佳方法是什么

var firstQuery = (from r in db.SomeProcedure(Id)
                       select new MyClass
                       {
                            Id = r.Id,
                            Name = r.Name,
                            Company= r.Company,
                            Title = r.Title
                       });

        var secondQuery = (from d in firstQuery
                          group d by d.Title into groupedTitles
                         select new MyClass2
                         {                                 
                             Title = groupedTitles.Key,  //How To include the Id                                  
                         });

          List<MyClass> mClass = firstQuery.ToList();
          Th Below ToList() is throwing a cannot enumerate more than one
          List<MyClass2> mClass2 = secondQuery.ToList();
var firstQuery=(来自db.SomeProcedure(Id)中的r)
选择新MyClass
{
Id=r.Id,
Name=r.Name,
公司,
头衔
});
var secondQuery=(来自firstQuery中的d
按d分组。标题分为分组标题
选择新MyClass2
{                                 
Title=groupedTitles.Key,//如何包含Id
});
List mClass=firstQuery.ToList();
下面的Th ToList()正在抛出一个,不能枚举多个
List mClass2=secondQuery.ToList();

如何修复错误?

立即将第一个查询转换为列表

var firstQuery = (from r in db.SomeProcedure(Id)
                   select new MyClass
                   {
                        Id = r.Id,
                        Name = r.Name,
                        Company= r.Company,
                        Title = r.Title
                   }).ToList();

    var secondQuery = (from d in firstQuery
                      group d by d.Title into groupedTitles
                     select new MyClass2
                     {                                 
                         Title = groupedTitles.Key,  //How To include the Id                                  
                     });

      List<MyClass> mClass = firstQuery;
      List<MyClass2> mClass2 = secondQuery.ToList();
var firstQuery=(来自db.SomeProcedure(Id)中的r)
选择新MyClass
{
Id=r.Id,
Name=r.Name,
公司,
头衔
}).ToList();
var secondQuery=(来自firstQuery中的d
按d分组。标题分为分组标题
选择新MyClass2
{                                 
Title=groupedTitles.Key,//如何包含Id
});
List mClass=firstQuery;
List mClass2=secondQuery.ToList();

这将不支持第二个查询的服务器端查询。@确实是usr-这是一个限制。