ADO.NET构造开发内容包括:更容易的设计集成、扩充的部署选项、更为丰富多彩的登录和个性化服务以及更好的数据访问和同步,为此我也苦恼很久,后来终于让我找到了解决办法. ADO.NET构造使用强类型DataSet的好处
ADO.NET构造的另一个好处是可被继承以创建一个强类型DataSet.强类型DataSet的好处包括设计时类型检查,以及Microsoft Visual Studio.NET用于强类型DataSet语句结束所带来的好处.修改了DataSet的架构或关系结构后,就可以创建一个强类型DataSet,将 行和列作为对象的属性公开,而不是作为集合中的项公开.例如,不公开客户表中行的姓名列,而公开Customer对象的Name属性.
类型化DataSet从DataSet类派生,因此不会牺牲DataSet的任何功能.也就是说,ADO.NET构造类型化DataSet仍能远程访问, 并作为数据绑定控件(例如DataGrid)的数据源提供.如果架构事先不可知,仍能受益于通用DataSet的功能,但却不能受益于强类型 DataSet的附加功能.
处理强类型DataSet中的空引用
使用强类型DataSet时,可以使用DataSet的XML架构定义语言(XSD)架构来确保强类型DataSet可以正确处理空引 用.nullValue标识符使您可用一个指定的值String.Empty代替DBNull、保留空引用或引发异常.选择哪个选项取决于应用程序的上下 文.默认情况下,ADO.NET构造如果遇到空引用,就会引发异常.
刷新DataSet中的数据
如果想用服务器上的更新值刷新DataSet中的值,就使用DataAdapter.Fill.如果有在DataTable上定义的主键,DataAdapter.Fill会根据主键进行新行匹配,并且当更改到现有行时应用服务器上的值.即使刷新之前修改了这些数据,ADO.NET构造刷新行的RowState仍被设置为Unchanged.注意,如果没有为DataTable定义主键,DataAdapter.Fill就用可能重复的主键值添加新行.
如果想用来自服务器的当前值刷新表,并同时保留对表中的行所做的任何更改,必须首先用DataAdapter.Fill填充表,并填充一个新的DataTable,然后用preserveChanges值true将DataTable合并到DataSet之中.
在DataSet中搜索数据
在DataSet中查询与特定条件相匹配的行时,ADO.NET构造可以利用基于索引的查找提高搜索性能.当将PrimaryKey值赋给 DataTable时,会创建一个索引.当给DataTable创建DataView时,也会创建一个索引.下面是一些利用基于索引进行查找的技巧.