首页 理论教育 解析疑难问题,C#编程新手自学手册

解析疑难问题,C#编程新手自学手册

时间:2023-10-22 理论教育 版权反馈
【摘要】:本节将对本章中比较难以理解的问题进行讲解。E-R图提供了表示实体型、属性和联系的方法。图17-25 实体-联系图读者疑问:DataSet和DataReader功能类似,请问在具体使用时应该怎样选择?1)要通过应用程序执行以下操作,就要使用DataSet。对使用DataReader返回的每一行进行扩展处理会延长服务于DataReader的连接的必要时间,这影响了性能。

解析疑难问题,C#编程新手自学手册

本章的内容详细介绍了C#在数据库和ADO.NET操作方面的基本知识。本节将对本章中比较难以理解的问题进行讲解。

读者疑问:请详细介绍概念模型的基本知识。

解答:概念模型是对信息世界的建模,它可以用E-R图(实体-联系图)来描述世界的概念模型。E-R图提供了表示实体型、属性和联系的方法。

978-7-111-36370-5-Part03-685.jpg实体型:用矩形表示,框内写实体名称。

978-7-111-36370-5-Part03-686.jpg属性:用椭圆表示,框内写属性名称。

978-7-111-36370-5-Part03-687.jpg联系:用菱形表示,框内写联系名称。

例如,图17-24为实体-属性图。

978-7-111-36370-5-Part03-688.jpg

图17-24 实体-属性图

图17-25描述了实体-联系图。

978-7-111-36370-5-Part03-689.jpg

图17-25 实体-联系图

读者疑问:DataSet和DataReader功能类似,请问在具体使用时应该怎样选择?

解答:当设计应用程序时,要考虑应用程序所需功能的等级,以确定使用DataSet或者是DataReader。一般来说,具体规则如下。(www.xing528.com)

1)要通过应用程序执行以下操作,就要使用DataSet。

978-7-111-36370-5-Part03-690.jpg在结果的多个离散表之间进行导航。

978-7-111-36370-5-Part03-691.jpg操作来自多个数据源(例如,来自多个数据库、一个XML文件和一个电子表格的混合数据)的数据。

978-7-111-36370-5-Part03-692.jpg在各层之间交换数据或使用XML Web服务。与DataReader不同的是,DataSet能传递给远程客户端。

978-7-111-36370-5-Part03-693.jpg重用同样的记录集合,以便通过缓存获得性能改善(例如排序、搜索或筛选数据)。

978-7-111-36370-5-Part03-694.jpg每条记录都需要执行大量处理。对使用DataReader返回的每一行进行扩展处理会延长服务于DataReader的连接的必要时间,这影响了性能。

978-7-111-36370-5-Part03-695.jpg使用XML操作对数据进行操作,例如可扩展样式表语言转换(XSLT转换)或XPath查询。

2)对于下列情况,要在应用程序中使用DataReader。

978-7-111-36370-5-Part03-696.jpg不需要缓存数据。

978-7-111-36370-5-Part03-697.jpg要处理的结果集太大,内存中放不下。

978-7-111-36370-5-Part03-698.jpg需要以仅向前、只读方式快速访问数据。

在填充DataSet时,DataAdapter使用DataReader。因此,使用DataAdapter取代DataSet提升的性能,会节省DataSet占用的内存和填充DataSet需要的循环。一般来说,此性能提升只是象征性的,因此,设计决策应以所需功能为基础。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈