查询结果不止一次枚举

ash*_*raz 2 c# linq asp.net linq-to-sql

    datacontextclass dc=new datacontextclass ();
       var news= dc.GetNewsCompany(Int64.Parse ( _idCompany));
       if (news.GetEnumerator().MoveNext())
       {
           foreach (var item in news)
           {
               drpListNews.Items.Add(item.Title);
           } 
       }
Run Code Online (Sandbox Code Playgroud)

返回错误:{"查询结果不能多​​次枚举."}

如何检查结果!= LINQ中的null;

Mar*_*ell 6

疯狂地使用枚举器是一个坏主意 - 例如,它需要处理 - 你没有做过(这可能会导致SqlDataReader被打开 - 不好).在这种情况下,只需枚举它.如果没有任何记录,那将是微不足道的:

   if (news!=null)
   {
       foreach (var item in news)
       {
           drpListNews.Items.Add(item.Title);
       } 
   }
Run Code Online (Sandbox Code Playgroud)

如果您需要两次数据,请将其放在一个列表中:

   var news = (blah).ToList();
Run Code Online (Sandbox Code Playgroud)