다음을 통해 공유


ASP.NET 데이터 액세스 개요

업데이트: 2007년 11월

웹 응용 프로그램은 주로 동적 데이터를 저장 및 검색하기 위해 데이터 소스에 액세스합니다. System.Data 네임스페이스(ADO.NET이라고 함) 및 System.Xml 네임스페이스에서 클래스를 사용하여 데이터에 액세스하는 코드를 작성할 수 있습니다. 이 방법은 이전 버전의 ASP.NET에서 일반적으로 사용되었습니다.

그러나 ASP.NET을 사용하여 선언적으로 데이터 바인딩을 수행할 수도 있습니다. 다음을 포함하여 가장 일반적인 데이터 시나리오의 경우 이를 수행할 때 코드가 필요하지 않습니다.

  • 데이터 선택 및 표시

  • 데이터 정렬, 페이징 및 캐싱

  • 데이터 업데이트, 삽입 및 삭제

  • 런타임 매개 변수를 사용하여 데이터 필터링

  • 매개 변수를 사용하여 마스터-세부 시나리오 만들기

ASP.NET에는 데이터 소스 컨트롤과 데이터 바인딩된 컨트롤이라는 두 가지 형식의 서버 컨트롤이 포함되어 있으며 이 두 컨트롤은 선언적 데이터 바인딩 모델에 참여합니다. 이러한 컨트롤은 ASP.NET 웹 페이지에서 데이터를 표시하고 업데이트하기 위해 상태 비저장 웹 모델에 필요한 내부 작업을 관리합니다. 결과적으로 데이터 바인딩을 수행할 때 페이지 요청 수명 주기에 대한 세부적인 내용까지 이해할 필요는 없습니다.

데이터 소스 컨트롤

데이터 소스 컨트롤은 데이터 소스에 연결 및 데이터 읽기/쓰기 등의 작업을 관리하는 ASP.NET 컨트롤입니다. 데이터 소스 컨트롤은 사용자 인터페이스를 렌더링하지 않지만 대신 특정 데이터 저장소(예: 데이터베이스, 비즈니스 개체 또는 XML 파일)와 ASP.NET 웹 페이지의 다른 컨트롤 간에 매개자 역할을 합니다. 데이터 소스 컨트롤을 사용하면 쿼리, 정렬, 페이징, 필터링, 업데이트, 삭제, 삽입 등을 포함하여 데이터를 검색하고 수정하는 데 필요한 다양한 기능을 활용할 수 있습니다. ASP.NET에는 다음과 같은 데이터 소스 컨트롤이 포함되어 있습니다.

데이터 소스 컨트롤

설명

AccessDataSource

Microsoft Access 데이터베이스로 작업할 수 있도록 합니다.

자세한 내용은 AccessDataSource 웹 서버 컨트롤 개요를 참조하십시오.

LinqDataSource

선언 태그를 통해 ASP.NET 웹 페이지에서 LINQ(통합 언어 쿼리)를 사용하여 데이터 개체의 데이터를 검색 및 수정할 수 있도록 합니다. 선택, 업데이트, 삽입 및 삭제 명령의 자동 생성을 지원합니다. 또한 이 컨트롤은 정렬, 필터링 및 페이징 기능을 지원합니다.

ObjectDataSource

비즈니스 개체 또는 다른 클래스로 작업하고 데이터 관리를 위해 중간 계층 개체를 사용하는 웹 응용 프로그램을 만들 수 있도록 합니다.

자세한 내용은 ObjectDataSource 웹 서버 컨트롤 개요를 참조하십시오.

SiteMapDataSource

ASP.NET 사이트 탐색에 사용됩니다. 자세한 내용은 ASP.NET 사이트 탐색 개요를 참조하십시오.

SqlDataSource

ADO.NET에서 관리되는 데이터 공급자로 작업하여 Microsoft SQL Server, OLE DB, ODBC 또는 Oracle 데이터베이스에 액세스할 수 있도록 합니다.

자세한 내용은 SqlDataSource 웹 서버 컨트롤 개요를 참조하십시오.

XmlDataSource

XML 파일로 작업할 수 있도록 합니다. 이는 특히 TreeViewMenu 컨트롤 같은 계층적 ASP.NET 서버 컨트롤의 경우 유용합니다.

자세한 내용은 XmlDataSource 웹 서버 컨트롤 개요를 참조하십시오.

데이터 액세스 저장소 공급자를 지원하도록 데이터 소스 컨트롤을 확장할 수도 있습니다.

데이터 소스 컨트롤에 대한 자세한 내용은 데이터 소스 컨트롤 개요를 참조하십시오.

데이터 바인딩된 컨트롤

데이터 바인딩된 컨트롤은 데이터를 요청 브라우저에 태그로 렌더링합니다. 데이터 바인딩된 컨트롤은 데이터 소스 컨트롤에 바인딩한 다음 페이지 요청 수명 주기의 적절한 시점에서 자동으로 데이터를 페치할 수 있으며 정렬, 페이징, 캐싱, 필터링, 업데이트, 삭제, 삽입 등을 포함하여 데이터 소스 컨트롤에서 제공하는 기능을 사용할 수 있습니다. 데이터 바인딩된 컨트롤은 DataSourceID 속성을 통해 데이터 소스 컨트롤에 연결합니다.

ASP.NET에는 다음 표에서 설명하는 데이터 바인딩된 컨트롤이 포함되어 있습니다.

  • 목록 컨트롤
    데이터를 다양한 목록 형식으로 렌더링합니다. 목록 컨트롤에는 BulletedList, CheckBoxList, DropDownList, ListBoxRadioButtonList 컨트롤 등이 있습니다.

  • AdRotator
    광고를 이미지 형식으로 페이지에 렌더링합니다. 사용자가 이미지를 클릭하면 해당 광고와 연결된 URL로 이동할 수 있습니다.

    자세한 내용은 AdRotator 웹 서버 컨트롤 개요를 참조하십시오.

  • DataList
    데이터를 테이블 형식으로 렌더링합니다. 각 항목은 사용자가 정의하는 항목 템플릿을 통해 렌더링됩니다.

    자세한 내용은 DataList 웹 서버 컨트롤 개요를 참조하십시오.

  • DetailsView
    테이블 형식의 레이아웃에 레코드를 한 번에 하나씩 표시하고 레코드를 편집, 삭제 및 삽입할 수 있습니다. 여러 레코드를 페이징할 수도 있습니다.

    자세한 내용은 DetailsView 웹 서버 컨트롤 개요를 참조하십시오.

  • FormView
    DetailsView 컨트롤과 비슷하지만 이 컨트롤을 사용하면 각 레코드에 대해 자유 형식 레이아웃을 정의할 수 있습니다. FormView 컨트롤은 단일 레코드에 대한 DataList 컨트롤과 비슷합니다.

    자세한 내용은 FormView 웹 서버 컨트롤 개요를 참조하십시오.

  • GridView
    데이터를 테이블 형식으로 표시하고 코드 없이 데이터를 편집, 업데이트, 삭제, 정렬 및 페이징하는 기능이 포함되어 있습니다.

    참고:

    GridView 컨트롤은 이전 버전의 ASP.NET에 제공된 ASP.NET DataGrid 컨트롤을 대체합니다.

    자세한 내용은 GridView 웹 서버 컨트롤 개요를 참조하십시오.

  • ListView
    템플릿을 사용하여 데이터 레이아웃을 정의할 수 있도록 합니다. 자동 작업 정렬, 편집, 삽입 및 삭제를 지원합니다. 또한 연결된 DataPager 컨트롤을 사용하여 페이징할 수 있습니다.

    자세한 내용은 ListView 웹 서버 컨트롤 개요를 참조하십시오.

  • Menu
    하위 메뉴를 포함할 수 있는 계층 구조의 동적 메뉴로 데이터를 렌더링합니다.

    자세한 내용은 Menu 컨트롤 개요를 참조하십시오.

  • Repeater
    데이터를 목록 형식으로 렌더링합니다. 각 항목은 사용자가 정의하는 항목 템플릿을 통해 렌더링됩니다.

    자세한 내용은 Repeater 웹 서버 컨트롤 개요를 참조하십시오.

  • TreeView
    확장 가능한 노드의 계층 구조 트리로 데이터를 렌더링합니다.

    자세한 내용은 TreeView 웹 서버 컨트롤 개요를 참조하십시오.

참고:

버전 1.0 및 1.1의 ASP.NET에 제공된 DataGrid 컨트롤은 확장된 데이터 정렬, 페이징 및 수정 기능을 포함하는 GridView 컨트롤로 대체되었습니다. DataGrid 컨트롤을 사용하는 기존 페이지를 계속 사용할 수 있습니다. 다른 데이터 컨트롤과 마찬가지로 DataGrid 컨트롤도 데이터 소스 컨트롤과 상호 작용하도록 향상되었습니다.

참고:

ListView 컨트롤은 Repeater 컨트롤 및 DataList 컨트롤을 대체합니다. 이러한 컨트롤을 사용하는 기존 페이지는 계속 작동합니다. ListView 컨트롤을 사용하면 여러 가지 일반적인 시나리오를 간단히 구현할 수 있습니다.

자세한 내용은 ASP.NET 데이터 바인딩 웹 서버 컨트롤 개요를 참조하십시오.

LINQ

LINQ(통합 언어 쿼리)에서는 여러 유형의 데이터 소스에서 데이터를 쿼리하고 업데이트하기 위한 통합 프로그래밍 모델을 제공하고 데이터 기능을 직접 C# 및 Visual Basic 언어로 확장합니다. LINQ에서는 관계형 데이터에 개체 지향 프로그래밍의 원칙을 적용합니다. LINQ를 사용하여 작업하려면 LinqDataSource 컨트롤을 사용합니다. 웹 페이지의 데이터에 액세스하기 위해 LINQ 쿼리를 직접 만들 수도 있습니다. 자세한 내용은 ASP.NET과 함께 LINQ 사용을 참조하십시오.

Dynamic Data

ASP.NET Dynamic Data는 데이터 기반 ASP.NET 웹 응용 프로그램을 빠르게 만들 수 있게 하는 프레임워크입니다. Dynamic Data는 런타임에 자동으로 데이터 모델을 검색하고 해당 데이터 모델에서 UI 동작을 결정합니다. 스캐폴딩 프레임워크는 데이터를 표시하고 편집할 수 있는 기능적인 웹 사이트를 제공합니다. 따라서 메타데이터 또는 템플릿을 사용하거나 표준 ASP.NET 페이지를 만들어 기본 동작을 재정의하여 이 스캐폴딩을 사용자 지정할 수 있습니다. 기존 ASP.NET 웹 응용 프로그램에서는 스캐폴딩 논리의 일부를 해당 웹 페이지에 쉽게 통합할 수 있습니다. Dynamic Data에 대한 자세한 내용은 ASP.NET Dynamic Data 사용을 참조하십시오.

참고 항목

개념

데이터 소스 컨트롤 개요

ASP.NET 데이터 바인딩 웹 서버 컨트롤 개요