问题标签 [idatareader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
711 浏览

.net - 如何模拟 ExecuteReader 方法?

我是新手moq并设置了模拟,所以我可以在一点帮助下做。如何模拟ExecuteReader()using Moq

更新

我有下面的 ExecuteReader 代码

这是一个模型

下面是我想在单元测试中模拟的模拟数据

一些人建议IDataReader apporoch 是否适合它,我该如何实现?我如何为这段代码编写单元测试用例

0 投票
2 回答
2019 浏览

c# - 如何使用数据阅读器将可为空的日期时间值转换为字符串?

我正在nullable datetime使用IDataReader界面读回一个。到目前为止,我之前的专栏文章按预期工作。

除了["Implementation End Timestamp"]我尝试读回可为空的日期时间的这一列,将其转换为字符串并将其分配给名为Implementation_End_String.

所以这就是我尝试过的。首先读回DateTime?检查 null 的值,然后如果不为 null 则尝试转换 toString()。

但是由于它们是“字符串和日期时间之间没有显式转换?”,因此不允许此分配:

我想我需要获取valueDateTime 来调用 toString() 。

问题:

如何将回读DateTime?值转换为字符串类型?

0 投票
1 回答
121 浏览

c# - 如何从具有多个表的 IDataReader 中检索值

我一直在尝试从IDataReader最近获取值,但无法从我查询的第二个表中获取数据。有人可以帮我找到一种方法来获取它们。这是我到目前为止所拥有的:

因此,您如何获得SUM(value) into SumVol我创建的第二个 SQL 命令public double SumVol { get; set; }

0 投票
2 回答
2838 浏览

wcf - 如何在 C# 中将 IDataReader 转换为 Stream

在我的 WCF 服务中,我正在使用Command.ExecuteReader()方法从 SQL 服务器检索数据。数据大小非常大(大约 1+ GB)并且通过 netTcp 绑定将此数据传输到客户端。

我打算在 WCF 中实现流模式而不是缓冲模式。任何人都可以将我指向任何文章或文件来做同样的事情。

简而言之,我的目标是将 IDataReader 转换为将传输到客户端和客户端的流对象,希望将此流转换回数据集/数据表或任何可以与 Grid 绑定的东西。

我无法将 IdataReader 转换为 IEnumerable,因为数据来自 SP,并且输出集中的列数不断变化(我不想在代码中添加列数限制)。

最终,将在数据集上完成从 WCF 服务到客户端应用程序的最终通信。如果任何解决方案,如将数据集转换为流,将其发送到客户端并在客户端,将流转换回数据集也将解决我的问题。

0 投票
1 回答
1665 浏览

c# - 映射时 AutoMapper.Data 错误

我正在使用 automapper v4.1.1 和 automapper.data1.0.0.beta 1。我有控制台应用程序,我的映射代码如下所示:

我的数据库调用代码和映射看起来像

当我运行此代码时,我收到错误:

未处理的异常:System.InvalidCastException:指定的转换无效。在 DynamicCreate(IDataRecord ) 在 AutoMapper.Data.DataReaderMapper.d__10.MoveNext() 在 System.Linq.Enumerable.d__94 1.MoveNext() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable1 源)

任何想法我做错了什么?

干杯

伊斯梅尔

0 投票
1 回答
70 浏览

c# - 如何将 IDataReader 对象添加到 List在 C# 中?

如何创建 n 个IDataReader对象并将其添加到 a List<IDataReader>

0 投票
0 回答
294 浏览

automapper - Automapper 无法从 IDataReader 正确映射到字符串

我正在使用automapperIDataReader. 只要我用它来映射 fromIDataReaderDTOs就没有问题,但是在我添加了映射之后string,它就无法按预期工作。看一下我为演示该问题而编写的以下示例代码:

在这一行string value = mapper.Map<string>(reader);中,我希望从 中获取string第一列的实际值IDataReader,而不是得到"System.Data.SqlClient.SqlDataReader". 现在真正奇怪的是,当我.ForMember(dest => dest.Name, options => options.MapFrom(src => src["Name"]));从上面的代码中删除这一行时,映射将按预期工作。对我来说,这似乎是一个错误。如何优雅地解决这个问题,以便我将拥有我的DTOs和的映射string

0 投票
1 回答
88 浏览

c# - IDataReader 实现中的索引值问题

我已经使用 IDataReader 实现了一个类,作为使用 SqlBulkCopy 的项目的一部分。我在这里发布了一些相关代码

使用 SqlBulkCopy 和 IDataReader 的代码片段

运行 WriteToServer 方法时,我注意到第一次调用 GetValue() 时索引值为 1,并且索引的最终值比列数小一。由于这个问题,批量加载最终会跳过一列。

我无法找到为什么 GetValue() 中的索引不将值从 1 到列数。实际上,该值应该从 0 开始,并且比列数少一。如果有人帮我找到原因,请告诉我。

0 投票
1 回答
914 浏览

c# - AutoMapper 和 IDataReader

我想将数据映射IDateReader到某个类,但不能简单地做到这一点。我写了以下代码:

UPD:我尝试使用 Nuget 中的 Automapper.Data 但它依赖于 NETStandard.Library 但我使用 .NET Framework 4.5 但这种方式对我不利,因为我必须为每一列描述映射规则。是否可以避免描述所有这些规则?

0 投票
1 回答
552 浏览

c# - 关闭 IDataReader 时执行超时

我正在从 SQL Server 检索大量数据。一切正常,但是当我尝试在using语句中关闭 IDataReader

我得到:执行超时已过期。在操作完成之前超时时间已过或服务器没有响应。

使用类似rdr = null会更好吗?还是有另一种更好的解决方案如何关闭 IDataReader?