使用 IDataReader 作为 IEnumerable 的最佳方法?

2023-11-22

我需要使用Linq on any 数据读取器像这样的实现

var c = sqlDataReader.AsEnumerable().Count();

Example:

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()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 IDataReader 作为 IEnumerable 的最佳方法? 的相关文章

  • C# 中的协变和逆变

    首先我要说的是 我是一名正在学习 C 编程的 Java 开发人员 因此 我会将我所知道的与我正在学习的进行比较 我已经使用 C 泛型几个小时了 我已经能够在 C 中重现我在 Java 中知道的相同内容 除了几个使用协变和逆变的示例 我正在读
  • 为什么派生类不使用基类的operator=(赋值运算符)?

    以下是实际问题的简化版本 而不是打电话Base operator int 代码似乎生成了一个临时的Derived对象并复制它 既然函数签名似乎完美匹配 为什么不使用基本赋值运算符 这个简化的示例没有显示任何不良影响 但原始代码在析构函数中有
  • C# 中附加/分离事件处理程序的不同方式有什么区别

    我的问题有两个部分 首先 我们可以通过以下两种方式附加事件处理程序 myObject MyEvent new EventHandler MyHandler myObject MyEvent MyHandler 据我了解 这两者是等价的 在第
  • 通过引用传递时取消引用指针

    当通过引用传递给函数时取消引用指针时会发生什么 这是一个简单的例子 int returnSame int example return example int main int inum 3 int pinum inum std cout
  • 如何在 Windows 窗体中运行屏幕保护程序作为其背景?

    如何在 Windows 窗体中运行屏幕保护程序作为其背景 用户还可以在屏幕保护程序运行时与表单控件进行交互 为什么这个 我们有一个案例 需要在用户时运行 Windows Bubbles 屏幕保护程序 可以继续与表单控件交互吗 您可以使用以下
  • F10键没被抓住

    I have a Windows Form and there overriden ProcessCmdKey However this works with all of the F Keys except for F10 I am tr
  • 在通过网络发送之前压缩位图

    我正在尝试通过网络发送位图屏幕截图 因此我需要在发送之前对其进行压缩 有一个库或方法可以做到这一点吗 当您将图像保存到流时 您have选择一种格式 几乎所有位图格式 bmp gif jpg png 都使用一种或多种压缩形式 因此 只需选择适
  • .net Framework (.net 4.0) 中定义 Base 3 数字的类

    我正在寻找一些可以用来定义 3 基数 三进制数 的类 有什么我可以在 net 框架中使用的东西或者我需要写一些东西吗 谢谢你的帮助 您可以使用解析Convert ToInt32 s base http msdn microsoft com
  • 用 C# 制作 Vista 风格的应用程序

    我正在运行 Windows Vista 并且希望外观看起来像常规 Vista 程序 有没有关于如何构建 Vista 风格应用程序的真正好的教程 文章 我还想学习如何使用本机代码并将其转换为 C 如this http bartdesmet n
  • 如何使用泛型类型的 DataContractSerializer 编写自定义序列化器?

    我想编写一个自定义序列化器 用于将会话状态存储到Azure 缓存 预览版 这意味着这个自定义序列化器必须实现IDataCacheObjectSerializer 如果我错了 请告诉我 我需要编写这个自定义序列化程序的原因是我需要序列化一些包
  • 指示泛型返回动态类型的对象

    这个问题是我原来问题的后续问题here https stackoverflow com questions 2541184 using a type object to create a generic 假设我有以下泛型类 简化 class
  • 在“using”语句中使用各种类型 (C#)

    自从C usingstatements只是try finally dispose 的语法糖 为什么它接受多个对象仅当它们属于同一类型时 我不明白 因为它们需要的只是 IDisposable 如果它们都实现 IDisposable 应该没问题
  • 线程安全的 C++ 堆栈

    我是 C 新手 正在编写一个多线程应用程序 不同的编写者将对象推入堆栈 读者将它们从堆栈中拉出 或至少将指针推入对象 C 中是否有任何内置结构可以在不添加锁定代码等的情况下处理此问题 如果没有 那么 Boost 库呢 EDIT 你好 感谢您
  • 如何在 C# 中使用 XmlDsigC14NTransform 类

    我正在尝试使用规范化 xml 节点System Security Cryptography Xml XMLDsigC14nTransformC net Framework 2 0 的类 该实例需要三种不同的输入类型 NodeList Str
  • 为什么WCF中不允许方法重载?

    假设这是一个ServiceContract ServiceContract public interface MyService OperationContract int Sum int x int y OperationContract
  • `cosf`、`sinf` 等不在 `std` 中 [重复]

    这个问题在这里已经有答案了 根据这里的讨论 我有报告了一个错误 https bugs launchpad net ubuntu source gcc 8 bug 1831385给 Ubuntu 开发者 编译以下示例 C 程序时 includ
  • 有没有更好的方法来获取每个项目与谓词匹配的子序列?

    假设我有一个 IEnumerable 例如 2 1 42 0 9 6 5 3 8 我需要获得与谓词匹配的项目的 运行 例如 如果我的谓词是 bool isSmallerThanSix int number 我想得到以下输出 2 1 0 5
  • 将一个 long 转换为两个 int 以进行重构

    我需要将一个参数作为两个 int 参数传递给 Telerik Report 因为它不能接受长参数 将 long 拆分为两个 int 并在不丢失数据的情况下重建它的最简单方法是什么 使用掩蔽和移位是最好的选择 根据文档 long 保证为 64
  • 将文本从文本文件添加到 PDF 文件[重复]

    这个问题在这里已经有答案了 这是我的代码 using FileStream msReport new FileStream pdfPath FileMode Create step 1 using Document pdfDoc new D
  • 使用剪贴板 SetText 换行

    如何使用 SetText 方法添加换行符 I tried Clipboard SetText eee n xxxx 但当我将剪贴板数据粘贴到记事本中时 它没有给我预期的结果 预期结果 eee xxxx 我怎样才能做到这一点 Windows

随机推荐

  • 角度中带有“this”关键字和没有“this”关键字的数据插值绑定行为?

    下面的代码是我的组件 Component selector my app template div name div export class MyApp name String constructor this name Mr Perfe
  • 使用 JavaScript 包装一组 DOM 元素

    我有一系列p我页面上的标签 我想将它们全部包装到一个容器中 例如 p foo p p bar p p baz p 我想将以上所有标签包装到一个容器中 如下所示 div p foo p p bar p p baz p div 如何包裹一个No
  • 如何在 MVC 下创建简洁且 RESTful 的向导?

    我尝试在构建应用程序时尽可能保持 RESTful 但我不确定的一件事是如何创建一个向导式工作流程 保持 RESTful 和简洁 以多页面注册流程为例 选项1 我可以为每个步骤创建一个控制器 并在用户到达该步骤 或返回该步骤 时调用 new
  • CakePHP 2.0 选择表单 多选

    我有一个下拉菜单 您可以在其中选择多个值 现在假设我想编辑我的信息并创建一个包含多个选定值的下拉菜单 试图弄清楚它是如何进行的 但没有结果 假设我有 selected array 3 4 options array 1 2 3 4 echo
  • 我的 powershell 脚本在预期输出之前打印“1”。为什么?

    我编写了一个简单的 powershell 脚本 用于检查 PSA 服务板上的门票数量 并输出门票数量和与其关联的颜色 但是 我的脚本在结果之前打印 1 我对 powershell 很陌生 我似乎找不到打印此内容的行 任何帮助 将不胜感激 谢
  • MVC5 帐户控制器空引用异常

    我正在尝试将用户角色实现到我的 MVC Web 应用程序中 但是我收到了一个空异常return userManager HttpContext GetOwinContext GetUserManager
  • 错误:无法加载要扩展的配置“下一个”

    我有一个使用 jest 和 react testing library 进行测试的 Nextjs 应用程序 我使用 npx eslintrc init 命令将 eslintrc 文件添加到我的项目中 每当我检查我的项目时 我都会收到以下错误
  • C# 和 VB.NET 中的转换之间的区别

    以下代码在 C 中运行良好 Int32 a b Int16 c a 0x7FFFFFFF b a 0xFFFF c Int16 b 但是这段代码崩溃并出现 OverflowExceptionVB NET Dim a b As Int32 D
  • 来自学习变量的预期张量流模型大小

    在训练用于图像分类任务的卷积神经网络时 我们通常希望我们的算法能够学习将给定图像转换为其正确标签的滤波器 和偏差 我有几个模型试图在模型大小 操作数量 准确性等方面进行比较 但是 从张量流输出的模型的大小 具体来说是模型 ckpt 数据存储
  • sql server 使用计算列

    我有一个这样的查询 select price1 price2 price3 as total price from prices 我如何使用计算列total price来计算其他总计 select price1 price2 price3
  • GoogleAppEngineLauncher 在哪里保存本地日志文件?

    GoogleAppEngineLauncher 可以在开发过程中在我的 Mac 上运行时显示我的应用程序的本地日志文件 但是 我无法更改那里的字体大小 所以我想使用tail命令自己查看日志文件 很遗憾 但我找不到日志文件 他们不在 var
  • 如何将角度项目设置为另一个角度项目的 package.json 中的依赖项

    我有三个不同的 Angular cli 项目 X Y Z 我想将 X 作为父项目 同时将 Y 和 Z 作为 npm 包依赖项添加到 X 这意味着 X package json 将包含 Y 和 Z 的依赖项 如下所示 dependencies
  • Row_Number 超过 其中 RowNumber 介于

    我尝试使用 row number 从表中选择某些行 但是sql会提示错误msg Invalid column name ROWNUMBERS 有人可以纠正我吗 SELECT ROW NUMBER OVER ORDER BY Price AS
  • SQL:如何在 orderby 中将 null 和空条目排序到前面?

    如果我的数据库中有以下条目 ID Name1 空 2 空字符串 3 阿尔法4 布拉沃5 查理 那么使用 ORDER BY 时如何将有名称的行排序到前面 如果我使用 ORDER BY Name 我会得到上面的列表 但我实际上想要 3 Alph
  • 解析注释行

    鉴于以下基本语法 我想了解如何处理注释行 缺少的是处理
  • 重定向后从 XHR 对象获取最终 url

    假设我使用 ajax 例如通过 jQuery 对实现 PRG 模式的 API 执行 POST 请求 因此它会重定向我 POST some api HTTP 1 1 303 See Other Location some other loca
  • 关于 stun 服务器的困惑

    我的要求是 我将打开一个UDP服务器监听X端口 本地机器 和machine public IP 可以发送UDP包给我 我的机器没有public IP 基本上我需要stun 我正在测试stuntman服务器 客户端项目 我在服务器 公共IP
  • x86_64 寄存器 rax/eax/ax/al 覆盖完整寄存器内容[重复]

    这个问题在这里已经有答案了 正如广泛宣传的那样 现代 x86 64 处理器具有 64 位寄存器 可以以向后兼容的方式用作 32 位寄存器 16 位寄存器甚至 8 位寄存器 例如 0x1122334455667788 rax 64 bits
  • 字符串不可变有什么好处?

    有一次我研究了字符串不可变的优点 因为它可以提高内存性能 有人可以向我解释一下吗 我在互联网上找不到它 不变性 对于字符串或其他类型 可以有很多优点 它使推理代码变得更加容易 因为您可以对变量和参数做出否则无法做出的假设 它简化了多线程编程
  • 使用 IDataReader 作为 IEnumerable 的最佳方法?

    我需要使用Linq on any 数据读取器像这样的实现 var c sqlDataReader AsEnumerable Count Example public abstract class Test public abstract S