2016-11-09 1 views
4

나는 책을 읽고 있는데, "데이터베이스에 액세스하기 위해 ADO.NET을 사용하여 자신의 데이터 액세스 계층을 만들면 데이터 스키마의 존재 여부에 최소한으로 영향을받습니다. O/RM, 유연성은 사용하는 도구에 따라 제한됩니다. " ADO.NET과 다른 ORM의 주요 차이점은 무엇입니까?orm과 ADO.net의 차이점은 무엇입니까?

+0

그리고 사람들이하지 신뢰 인증을 왜 MS가 궁금해. 이 성명서는 데이터베이스가 존재하지 않아도 원시 SQL 쿼리를 코드 내에 작성할 수 있음을 의미합니다. 그것은 검사되거나 검증 될 수없는 문자열입니다. 누구든지 이와 같이 작동하는 경우 해당 시험에 응시할 수 없으므로 –

+0

유죄 [book] (https://ptgmedia.pearsoncmg.com/images/9780735677227/samplepages/9780735677227.pdf) 링크를 클릭해야합니다. Exam Ref 70-486 ASP.NET MVC 4 웹 응용 프로그램 개발 –

답변

4

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 연결, 명령, 매개 변수를 사용하여 DB에 연결하고 수정할 수있는 계층입니다. 컴퓨터 과학 ADO.NET MSDN

객체 관계 매핑 (ORM, O/RM, 및 O/R 매핑 도구) 객체 지향 프로그래밍 언어로 호환되지 않는 유형의 시스템간에 데이터 를 변환하는 프로그래밍 기법이다. 실제로 프로그래밍 언어 내에서 을 사용할 수있는 "가상 객체 데이터베이스"를 만듭니다. 일부 프로그래머는 자신의 ORM 도구를 구성하기도하지만 무료 과 개체 관계형 매핑을 수행하는 상용 패키지를 모두 사용할 수 있습니다.

Entity FrameworkNHiberante은 ORM입니다. ORM 도구는 SQL 연결, 명령, 매개 변수로 작동하지 않는다는 것을 의미합니다. ORM 도구는 OOP 방식으로 데이터베이스 구조를 매핑 할 수 있습니다. C#의 개체를 사용하여 DB의 레코드를 추가, 읽기, 업데이트, 삭제할 수 있습니다. . 개체를 DB에 올바르게 매핑하면됩니다. Entity Framework은 ADO.NET을 기반으로하며 내부에 ADO.NET을 사용합니다. SQL 문은 ORM에 의해 생성됩니다. ORM

일반적으로 ORM없이 DB에 액세스하는 것이 더 빠르지 만 더 많은 코드 줄을 제공해야합니다. OOP 방식으로 DB를 작동시키고 더 읽기 쉬운 코드를 작성하려면 ORM을 선택해야합니다. 그것은 당신의 목적에 따라 무엇을 선택할 것인가에 달려 있습니다.

SQL 쿼리를 작성하고 매개 변수를 객체 속성에 매핑 할 수있는 Micro ORM (Dapper, BLToolkit)이 있습니다. 마이크로 ORM은 일반적으로 전체 ORM보다 성능이 뛰어나지 만 ADO.NET은 여전히 ​​빠릅니다.

또한, StackOverflow에 대한 몇 가지 질문과 답변이 있습니다 : EF vs ADO.NET

관련 문제