学习每门技术都是由浅入深,这里我们就从ADO.NET入门开始吧,希望可以给大家开个好头。ADO.NET提供了一个统一的编程模式和一组公用的类来进行任何类型的数据访问,而不管你用何种语言来开发代码。ADO.NET是全新的,但又与ADO尽可能保持一致,它使编程模式从一个客户端/服务器、基于连接的模式转变到了一个新的模式,这个新模式可以让断开的前端下载记录、离线工作、然后重新连接来提交变化。ADO.NET是WinForms应用程序、ASP.NET应用程序和Web Services的一个共有的特点。其功能可以跨LAN和Internet连接来实现,可以在有状态(stateful)和无状态(stateless)情况下实现。
这就意味着,作为一个共有的技术,ADO.NET的对象在所有可能的环境中并不是同等强大的。用ADO.NET为一个富客户端(rich client)构建一个数据层同为一个客户端通常是共享的和重要的实体(如Web服务器)的Web应用程序构建一个数据层并不一样。
#T#如果你从前是个ADO开发人员,现在已经用ADO.NET了,那么你可能把数据访问看做是一个***的对象,如Recordset。我们很自然地会将旧的对象模式同新的对象模式匹配起来,并将现有的方法用于.NET应用程序。然而,在ADO环境中的某些好的方法在转换到ADO.NET环境时就可能并不强大了。而且,看起来很微不足道的ADO.NET对象模式的复杂性可能会导致很糟糕的编程情况、不理想的代码、甚至是功能不能实现。我将讲述在 ADO.NET编程中可能会给你带来麻烦的10个方面,并提供技巧和解决方法来避免它们。
ADO.NET入门运用字符串来串行化扩展的属性
几个ADO.NET对象都拥有一个叫做ExtendedProperties的集合。该属性就像收集货物(cargo collection)一样,可以用来存储任何类型的用户信息。DataSet、DataTable和DataColumn就是可以提供该数据成员的类。ADO.net通过运用PropertyCollection类封装的一个哈希表来实现这个ExtendedProperties属性。你可以用Add方法将数据插入到集合中。Add方法使用了两个参数来保存数据——key和value。该方法的原形将参数定义为通用的对象类型,你可以存储任何类型的信息。然而,在特殊情况下,你应该特别注意那些被保存为扩展属性的对象的类型。
如果你想将包含扩展属性的ADO.NET对象串行化到XML,***只用字符串。如果不行,你必须对ADO.NET的内在的serializer的行为采取对策。
当ADO.NET将一个DataSet对象保存到XML时,ExtendedProperties 集合的内容就被串行化到内存中了,但大概是出于性能的原因,ADO.NET运用了ToString方法,而不是XML serializer来实现串行化。更重要的是,当ADO.NET对象被读回并复原时,ExtendedProperties集合包含的是对象的字符串表现形式,而不是对象本身。以上就是关于ADO.NET入门的简单介绍,希望对大家有帮助。