最近我不得不在.net数据提供商和ado.net上输入一些文档。我试图获得有关我的发现的反馈。请查看并提供更正或意见。
摘要 这是用于与数据库交互的基本.Net API的高级摘要。作为一个主要具有Java和PHP背景的开发人员,我不清楚ADO.Net如何与OleDb相关,我不知道术语“.Net数据提供者”的含义。我创建这个是因为msdn文档非常重点关注ADO.Net,并没有清楚地说明许多名称空间,接口和类是如何交互的。
.Net数据提供商
System.Data
System.Data核心接口
System.Data实施示例
ADO.Net
ADO.Net核心课程
答案 0 :(得分:3)
System.Data是“包”,其中包含在.NET中使用“数据提供者”的所有内容。确实,ADO是处理数据的一种策略,但它是.NET中的主要策略。
ADO不是关于特定的数据库技术(因为它不一定是数据库特定的技术),而是关于数据关系的更多信息。术语:Set,Table,Column,Row和Relationship是很好理解的建模术语,ADO.NET使它们成为.NET领域的第一类对象。
数据提供程序提供了用于支持核心ADO.NET概念(表,行等)的低级实现特定详细信息,旨在抽象出如何连接到数据提供程序的直接实现细节。例如,您应该能够以相对较少的努力,在DataTables,DataRows和DataColumns(抛开查询详细信息)方面与Jet数据提供程序交换Jet数据提供程序,以便您的代码受到最小程度的影响。更改。为什么这很重要?因为这意味着您可以使用具有类似命令语义的非同质数据源(即,您可以在具有相同对象的同一应用程序中使用excel电子表格和MySql dbs)。这使得重用和重新利用非常容易且非常直接。
作为一般观点,您可以这样思考系统:
希望有所帮助。
答案 1 :(得分:2)
参考:
在我看来,它几乎就像 微软试图掩盖如何 数据库连接工作,这样 用户被使用控件困住 由visual studio提供。
第三方提供商的存在并不支持MS试图将我们“陷入”任何事情的想法。
隐藏“数据库连接如何工作”是一种抽象,而不是颠覆性的。