我需要在任何IDataReader实现中使用Linq,就像这样:
var c = sqlDataReader.AsEnumerable().Count();
例子:
public abstract class Test
{
public abstract SqlDataReader GetSqlDataReader();
public void Foo()
{
SqlDataReader sqlDataReader = GetSqlDataReader();
IEnumerable<SqlDataReader> sqlEnumerable = sqlDataReader.AsEnumerable();
var c = sqlEnumerable.Count();
var s = sqlEnumerable.Sum();
SqlDataReader first = sqlEnumerable.First();
var t = first.GetSqlXml(10);
}
}
最佳编写方法是什么?请编写您的片段。
IEnumerable<SqlDataReader>
没有意义,因为你只有一个SqlDataReader
,你不是在枚举多个SqlDataReader
。 - George Duckett