【问题标题】:DataSet, an old confusionDataSet,一个古老的困惑
【发布时间】:2010-12-03 19:25:36
【问题描述】:

什么时候应该使用 DataSet 而不是 DataReader?

什么时候必须使用 DataSet 而不是 DataReader?

我什么时候应该以断开连接的方式使用数据?

我何时必须以断开连接的方式使用数据?

注意 我不是在问哪个更好。我需要知道使用DataSet的合适场景。我在.net 中编程了几年,但我从来没有真正需要它。

【问题讨论】:

标签: dataset datareader


【解决方案1】:

一种情况,当您想将数据从一层传递到应用程序的另一层时,您可以使用数据集。欲了解更多信息Dataset and DataReader

【讨论】:

  • 我同意您将“应该”改为“可以”。 @JMSA 指出了一个有效的替代方案。
  • 是的,那么在这种情况下使用 DataReader 填充您的列表
【解决方案2】:

DataSet 将所有需要的数据记录保存在内存中,而 DataReader 一次从数据连接读取一条记录。

DataSet 通常使用 DataReaders 填充数据。

当您需要高性能的只进阅读器时,请使用 DataReader。

当您需要执行需要同时存在所有数据的操作时使用 DataSet,例如序列化或在层之间传递数据。然而,正如其他人所指出的,使用 List<T> 而不是 DataSet 对象可以更好地分离层之间的关注点。

有关更多信息,请参阅 http://articles.sitepoint.com/article/dataset-datareaderhttp://msdn.microsoft.com/en-us/magazine/cc188717.aspx

【讨论】:

  • 需要注意的是DataSets可以加载DataReaders(我不知道除了证明可以做到的用例)。
  • 我认为你有它倒退。 DataReader 只向前,并且比 DataSet 性能更高,后者更专注于一次保存所有数据。我也更喜欢在层之间发送 List。它使域更加干净地隔离。
猜你喜欢
  • 2013-11-21
  • 2013-09-18
  • 1970-01-01
  • 1970-01-01
  • 2014-10-18
  • 1970-01-01
  • 1970-01-01
  • 2021-11-20
  • 1970-01-01
相关资源
最近更新 更多