DataReader 或 DataTable 绑定Repeater?
Posted
技术标签:
【中文标题】DataReader 或 DataTable 绑定Repeater?【英文标题】:DataReader or DataTable to bind Repeater? 【发布时间】:2015-05-11 07:41:30 【问题描述】:到目前为止,我使用DataTable
绑定Repeater
。但是对于新项目,我想提高它的性能,所以我想知道哪个更好绑定Repeater
、DataReader
或DataTable
?
当我将Custom Paging
与Repeater 一起使用时,我将一次获取大约20 行。我应该在List中填写数据还是直接使用DataReader
或DataTabl
e作为DataSource
?
请帮我选择任何一个以获得更好的性能。还是其他更好的选择?
【问题讨论】:
你是微优化的东西。如果您有性能问题,那么很可能还有其他需要优化的地方。比如查询,为什么查询20行需要很长时间?DataTable
由 DataAdapter
填充,DataReader
也使用 DataReader
,因此几乎没有区别。
@TimSchmelter,不,查询工作正常。我只想知道其中一个是否有任何性能问题。
那我猜我的评论回答了你的问题。
@TimSchmelter,是的。谢谢...
【参考方案1】:
您正在对事物进行微优化。如果您有性能问题,那么很可能还有其他需要优化的地方。比如查询,为什么查询20行需要很长时间? DataTable
由 DataAdapter
填充,DataReader
也使用 DataReader
,因此几乎没有区别。
选择您认为最易读的内容。
【讨论】:
DataReader
是连接架构,而DataTable
是断开连接的,所以在检索数据时打开和关闭连接是更好的做法吗?我一次不会获取超过 50 行。
@JeetenParmar:但您已经问过对于中继器而言,使用DataTable
或使用DataReader
哪个更好。没有区别,因为一旦将 DataReader
分配为数据源,它就会断开连接,dataAdapter.Fill(dataTable)
也使用 DataReader
。【参考方案2】:
直接绑定到控件比填写列表然后绑定到控件更好。
【讨论】:
以上是关于DataReader 或 DataTable 绑定Repeater?的主要内容,如果未能解决你的问题,请参考以下文章
有人对 DataTable.Load(DataReader) 方法有任何意见吗?
C# - 将 DataReader 转换为 DataTable