在大多数情况下,我正在处理的应用程序处理对象,我可以将对象列表绑定到gridview而没有任何问题。
但是,在某些情况下,我想在gridview中显示多表连接的结果。当前的代码使用了一个非常简单的数据集,但我想知道是否有更好/更有效的方法来做到这一点。
我们不需要数据集的大多数功能 - 数据是只读的,并且在大多数情况下不会有大量记录。 (即可能不超过200,通常为10-20)
答案 0 :(得分:0)
我认为你应该尽可能使用DataReader。有时DataSet更合适,例如下面列出的两种情况。这些来自文章“Why I Don't Use DataSets in My ASP.NET Applications”。另请查看后续文章“More On Why I Don't Use DataSets in My ASP.NET Applications”。
在桌面上,WinForms应用程序。考虑基于桌面 数据录入类型程序。用户可能会 启动程序,加载销售 来自某个数据库服务器的数据make 一些变化,然后想要保存 那些变化。这是一个理想的选择 DataSet的情况。它允许 要读入DataSet的数据 居住在客户的记忆中,哪个 为用户提供工作能力 无需数据 经常回去旅行 数据库。完成编辑后 数据,他们可以做批量更新, 优雅地处理任何变化 用户可能已经发生过 处理数据 断开状态。此外,因为 DataSet是断开连接的数据 存储,此数据可以脱机。 一位推销员前往客户的 网站可以加载这些数据并且能够 审查他的笔记本电脑上的数据 在途中,或在客户的时候 办公室。
- 醇>
用于发送/接收远程数据库信息或允许 不同的沟通 平台。因为DataSet可以 序列化/反序列化为XML 很容易,他们是主要的候选人 在物理上发送信息 边界或作为手段 将数据序列化为 平台中立格式。例如, 如果要返回数据库数据 从Web服务,一个选项是 只需将数据库数据读入即可 DataSet然后返回DataSet 来自Web服务方法。该 DataSet将自动成为 序列化为XML并通过发送 线。 (我个人不推荐 从Web服务返回数据 这种方式。相反,我更喜欢使用 自定义业务对象 - 它允许一个 对XML的更好控制程度 序列化,提供了更轻松 返回有效负载,并显示更少 架构特定的。