orm和ADO.net有什么区别?
我正在阅读一本书,它说:“如果您将通过使用ADO.NET创建自己的数据访问层来访问您的数据库,那么您的数据架构是否存在将受到最小影响。但是,如果您使用的是O / RM,您的灵活性将受到您使用的工具的限制“。 ADO.NET和其他ORM之间的主要区别是什么?
ADO.NET提供对数据源(如SQL Server和XML)以及通过OLE DB和ODBC公开的数据源的一致访问。 数据共享使用者应用程序可以使用ADO.NET连接到这些数据源并检索,处理和更新它们包含的数据。
ADO.NET将数据访问和数据操作分离为可以单独使用或串联使用的分立组件。 ADO.NET包含用于连接到数据库,执行命令和检索结果的.NET Framework数据提供程序。 这些结果可以直接处理,放置在ADO.NET DataSet对象中,以便以特别的方式暴露给用户,与多个数据源的数据结合使用或在层之间传递。 DataSet对象也可以独立于.NET Framework数据提供程序使用,以管理应用程序本地数据或源自XML的数据。
ADO.NET是允许您连接到数据库并使用SQL连接,命令,参数对其进行修改的层。 ADO.NET MSDN
计算机科学中的对象关系映射(ORM,O / RM和O / R映射工具)是用于在面向对象编程语言中的不兼容类型系统之间转换数据的编程技术。 这实际上创建了一个可以在编程语言中使用的“虚拟对象数据库”。 虽然有些程序员选择构建他们自己的ORM工具,但是有免费和商业软件包可以执行对象关系映射。
NHiberante
Entity Framework
是ORM。 这意味着你不需要通过SQL连接,命令,参数来操作--ORM工具可以帮你实现,它允许以OOP方式映射数据库结构:你可以使用C#中的对象添加,读取,更新和删除数据库中的记录。 您只需将您的对象正确映射到数据库。 Entity Framework
建立在ADO.NET上,它使用ADO.NET内部。 SQL语句由ORM生成。 ORM
通常,不使用ORM访问数据库的速度会更快,但您应该提供更多的代码行。 如果你想以OOP方式操作你的数据库并编写更多可读代码,你应该选择ORM。 这取决于你的目的选择什么。
有Micro ORM(Dapper,BLToolkit),它允许您编写SQL查询并将参数映射到对象属性。 一般来说,微型ORM比完整ORM具有更好的性能,但ADO.NET仍然更快。
此外,还有一些关于StackOverflow的问题和解答:EF与ADO.NET
链接地址: http://www.djcxy.com/p/37023.html上一篇: What is the difference between an orm and ADO.net?
下一篇: Replicate click inside contenteditable <div> with spellcheck