gpt4 book ai didi

c# - 将 IDataReader 用作 IEnumerable 的最佳方法?

转载 作者:太空狗 更新时间:2023-10-29 23:53:52 29 4
gpt4 key购买 nike

我需要在像这样的任何 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);
}
}

什么是最好的写法。请写下您的代码段。

最佳答案

你可以使用这个:

MyDataReader.Cast<IDataRecord>()

但是不要忘记在关闭 DataReader 之前执行 linq 语句。
例如使用 ToList()

关于c# - 将 IDataReader 用作 IEnumerable<T> 的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6939054/

29 4 0