ADO.NET
ADO.NET![]() |
개발자 | 마이크로소프트 |
---|---|
운영 체제 | Microsoft Windows |
유형 | 소프트웨어 프레임워크 |
면허증. | 독자 소프트웨어(MIT 라이선스의 BCL 부분, Ms-RSL의 소스 코드) |
웹 사이트 | docs |
ADO.NET은 Microsoft의 데이터 액세스 기술입니다.공통 [1]컴포넌트 세트를 통해 관계형 시스템과 비관계형 시스템 간의 통신을 제공하는 NET 프레임워크.ADO.NET은 프로그래머가 데이터베이스에서 데이터 및 데이터 서비스에 액세스하는 데 사용할 수 있는 컴퓨터 소프트웨어 구성 요소 세트입니다.Microsoft 에 포함되어 있는 베이스 클래스 라이브러리의 일부입니다.NET 프레임워크프로그래머가 관계형 데이터베이스 시스템에 저장된 데이터에 액세스하고 수정하기 위해 일반적으로 사용되며, 비관계형 데이터 소스의 데이터에도 액세스할 수 있습니다.ADO.NET은 ActiveX Data Objects(ADO) 테크놀로지의 진화로 간주되기도 하지만 완전히 새로운 제품으로 간주될 정도로 광범위하게 변경되었습니다.
아키텍처
ADO.NET은 개념적으로 소비자 및 데이터 [2]공급자로 나뉩니다.소비자는 데이터에 액세스해야 하는 애플리케이션이며 공급자는 인터페이스를 구현하여 소비자에게 데이터를 제공하는 소프트웨어 구성요소입니다.
Visual Studio IDE에는 특정 데이터베이스 스키마에 대한 DataSet 클래스의 특수한 하위 클래스를 생성하여 강력한 유형의 속성을 통해 스키마의 각 필드에 편리하게 액세스할 수 있는 기능이 있습니다.이것에 의해, 컴파일시에 보다 많은 프로그래밍 에러를 검출할 수 있게 되어, IDE 의 인텔리센스 기능이 강화됩니다.
공급자는 데이터 원본과 상호 작용하는 소프트웨어 구성 요소입니다.ADO.NET 데이터 공급자는 ODBC 드라이버, JDBC 드라이버 및 OLE DB 공급자와 유사합니다.
ADO.NET 프로바이더는 Oracle Database, Microsoft SQL Server, MySQL, Postgre 등의 복잡한 데이터베이스를 통해 텍스트 파일 및 스프레드시트 등의 단순한 데이터 저장소에 액세스할 수 있습니다.SQL, SQLite, IBM DB2, Sybase ASE 및 기타 많은 기능을 제공합니다.또한 이메일 시스템과 같은 계층형 데이터 저장소에 대한 액세스를 제공할 수도 있습니다.
그러나 데이터 저장소 기술에 따라 기능이 다를 수 있으므로 모든 ADO는 서로 다를 수 있습니다.NET 프로바이더는 ADO에서 사용 가능한 모든 인터페이스를 구현할 수 없습니다.NET 표준Microsoft 에서는, 관련하는 데이터 스토어 테크놀로지에 따라서는 적용되지 않는 경우가 있기 때문에, 인터페이스의 가용성을 「프로바이더 고유의」이라고 설명하고 있습니다.프로바이더는 데이터 스토어의 기능을 확장할 수 있습니다.이러한 기능을 Microsoft 용어로는 「서비스」라고 부릅니다.
객체-관계 매핑
엔티티 프레임워크
엔티티 프레임워크(EF)는 ADO용 오픈소스 객체 관계 매핑(ORM) 프레임워크입니다.NET, 의 일부입니다.NET 프레임워크이것은 ADO의 테크놀로지 세트입니다.데이터 지향 소프트웨어 애플리케이션 개발을 지원하는 NET.데이터 지향 애플리케이션의 설계자와 개발자는 일반적으로 매우 다른 두 가지 목표를 달성해야 하는 필요성에 시달려 왔습니다.Entity Framework를 사용하면 개발자는 데이터가 저장되는 기본 데이터베이스 테이블이나 열에 신경 쓸 필요 없이 고객이나 고객 주소 등의 도메인별 개체 및 속성 형태로 데이터를 사용할 수 있습니다.Entity Framework를 사용하면 개발자는 데이터를 처리할 때 더 높은 수준의 추상화 작업을 수행할 수 있으며 기존 애플리케이션보다 적은 코드로 데이터 지향 애플리케이션을 만들고 유지할 수 있습니다.
LINQ에서 SQL로
LINQ to SQL(구칭 DLINQ)을 사용하여 SQL Server Compact 데이터베이스를 포함한 Microsoft SQL Server 데이터베이스를 쿼리할 수 있습니다.SQL Server 데이터는 원격 서버에 있을 수 있으며 SQL Server에는 자체 쿼리 엔진이 있으므로 LINQ의 쿼리 엔진은 사용하지 않습니다.대신 LINQ 조회가 SQL 조회로 변환되어 SQL 서버로 전송되어 처리됩니다.단, SQL Server는 데이터를 관계형 데이터로 저장하고 LINQ는 오브젝트에 캡슐화된 데이터와 함께 작동하므로 두 표현은 서로 매핑해야 합니다.따라서 LINQ-to-SQL은 매핑 프레임워크도 정의합니다.매핑은 데이터베이스 내의 테이블에 대응하는 클래스를 정의하고 테이블 내의 모든 열 또는 특정 열의 서브셋을 데이터 멤버로 포함시킴으로써 이루어집니다.
레퍼런스
- ^ "ADO.NET Overview". docs.microsoft.com. Microsoft. Retrieved 4 September 2017.
- ^ "ADO.NET Architecture". docs.microsoft.com. Microsoft. Retrieved 4 September 2017.
- "ADO.NET Architecture". MSDN. Microsoft. 2012-08-02. Retrieved 16 July 2013.
- ".NET Framework Data Providers". MSDN. Microsoft. 2012-08-20. Retrieved 16 July 2013.
- "ADO.NET Data Providers". Data Developer Center. Microsoft. Retrieved 16 July 2013.