|
|
1
71
这取决于你的需要。其中一个最重要的区别是,数据阅读器将保持与数据库的开放连接,直到完成操作为止,而数据集将是内存中的对象。如果将控件绑定到DataReader,那么它仍然是打开的。此外,数据阅读器是一种只能向前读取无法操作的数据的方法。使用数据集,您可以前后移动并根据需要操作数据。 一些附加特性:数据集可以用XML进行序列化和表示,因此,很容易传递到其他层。无法序列化DataReader。 另一方面,如果要从数据库中读取大量的行,而要将这些行交给某个业务规则的某个流程,则DataReader可能更有意义,而不是使用所有行加载数据集,占用内存,可能会影响可伸缩性。 下面是一个有点过时但仍然有用的链接: Contrasting the ADO.NET DataReader and DataSet . |
|
|
2
192
这基本上是:“哪个更好:水桶还是水龙带?”
一
数据阅读器就是软管:它提供单向/一次性访问数据,当数据从你身边飞过时;你不必一次携带所有可用的水,但它需要连接到水龙头/数据库。
同样的,你可以用软管把桶装满,你也可以用软管把桶装满。
我想说的是他们做不同的事情…
我个人不使用
|
|
|
3
12
进一步 Marc's 要点:您可以使用一个完全没有数据库的数据集。 您可以从XML文件填充它,也可以只从程序填充它。用一个数据库中的行填充它,然后返回并将其写到另一个数据库中。 数据集是关系模式的完全内存表示。无论您是否曾经将它用于实际的关系数据库,都取决于您自己。 |
|
|
4
4
不同的需求,不同的解决方案。 如您所说,数据集与VB6记录集最相似。也就是说,把你需要的数据拉下来,传递出去,做你想做的。哦,最后你做完了就把它扔掉。 DataReader比较有限,但是当您只需要读取一次数据时,它会提供更好的性能。例如,如果您自己填充一个网格——即拉取数据,运行它,对于每一行填充网格,然后抛出数据——DataReader比DataSet好得多。另一方面,如果您有更新数据的意图,甚至不要尝试使用DataReader… 所以,是的,学习它-但只有在适当的时候才使用它。数据集为您提供了更多的灵活性。 |
|
|
5
0
要回答您的第二个问题-是的,您应该了解数据阅读器。如果有的话,那么你就知道如何使用它们了。 我认为在这种情况下,使用数据集更好——因为您正在进行数据绑定和所有操作(我认为CPU周期与人工工作相比)。 至于哪一个能表现得更好。这在很大程度上取决于你的情况。例如,如果您正在编辑要绑定的数据并对更改进行批处理,那么您最好使用数据集。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |