ASP.NET Dynamic Data 모델 개요
업데이트: 2008년 7월
데이터 모델은 데이터베이스에 있는 정보를 나타내고 데이터베이스의 항목이 서로 어떤 관계를 가지는지 나타냅니다. ASP.NET Dynamic Data는 데이터를 CLR 형식으로 나타내는 데이터 모델을 사용하며 LINQ-to-SQL 및 ADO.NET Entity Framework 데이터 모델을 지원합니다.
데이터 모델을 통해 데이터 필드의 모양과 동작을 제어할 수 있으며 코드를 거의 또는 전혀 사용하지 않고 자동 유효성 검사를 수행할 수 있습니다. 또한 데이터 모델을 사용자 지정하여 데이터 필드의 유효성 검사 방법과 데이터 필드 표시 및 편집을 위한 UI의 렌더링 방식을 변경할 수 있습니다.
데이터 모델을 올바르게 이해하고 사용하면 다음을 수행할 수 있습니다.
프레젠테이션 계층에서 데이터 관련 논리를 포함하는 대신 데이터 계층에서 데이터 관련 논리를 만들어 코드의 재사용 가능성을 높입니다.
데이터 계층에서 데이터 필드 유효성 검사를 사용자 지정합니다.
데이터 필드에 메타데이터를 적용하여 데이터 필드의 모양과 동작을 사용자 지정합니다.
이 항목에는 다음과 같은 단원이 포함되어 있습니다.
배경
데이터 필드 표시 및 수정
데이터 필드 유효성 검사
추가 정보
배경
Dynamic Data는 .NET Framework에 포함된 Entity Framework 데이터 모델 및 LINQ to SQL 데이터 모델을 지원합니다. 이러한 모델에는 Dynamic Data가 데이터베이스를 쿼리하고 CRUD(만들기, 읽기, 업데이트 및 삭제) 작업을 수행하는 데 사용하는 CLR 형식이 포함되어 있습니다. 이 데이터 모델을 사용하면 데이터 유효성 검사 및 비즈니스 논리 규칙을 데이터 모델에 간편하게 통합할 수 있습니다.
Visual Studio 2008에서 새 프로젝트를 만들 때 LINQ to SQL 클래스 또는 ADO.NET 엔터티 데이터 모델 템플릿을 선택할 수 있습니다. 이때 선택하는 템플릿에 따라 LINQ-to-SQL 또는 Entity Framework 모델 중에서 프로젝트에 사용될 모델의 형식이 결정됩니다. Dynamic Data 스캐폴딩은 한 프로젝트에서 데이터 모델 형식을 하나만 지원합니다.
런타임에 Dynamic Data는 데이터 필드 속성과 같은 데이터 모델에 대한 정보를 자동으로 추출합니다. 이 정보를 통해 Dynamic Data는 데이터를 표시 및 편집하기 위한 UI의 생성 방법을 유추합니다. Dynamic Data는 필드 템플릿을 사용하여 UI를 렌더링합니다. 예를 들어 Dynamic Data는 다음 정보를 사용하여 UI를 렌더링합니다.
외래 키 열 표시 및 테이블 간 탐색을 위한 테이블 간 연결 정보
데이터 필드에 대한 유효성 검사를 추가하기 위한 데이터 형식 정보. 예를 들어 null 열 정보를 통해 데이터 필드가 필수 필드인지 여부를 확인할 수 있고 길이 정보를 통해 사용자가 입력하는 최대 텍스트 길이를 제한할 수 있습니다.
자세한 내용은 방법: 데이터 모델의 데이터 필드 모양 및 동작 사용자 지정을 참조하십시오.
데이터 필드 표시 및 수정
Dynamic Data는 데이터 모델 메타데이터를 사용하여 데이터 필드의 표시 및 편집을 위한 UI를 렌더링하는 데 사용할 필드 템플릿을 자동으로 결정합니다. 필드 템플릿은 데이터 필드의 내장 데이터 형식을 기반으로 데이터 필드를 표시 및 수정할 수 있도록 Dynamic Data가 제공하는 사용자 정의 컨트롤입니다. 데이터 형식을 렌더링하기 위해 Dynamic Data는 데이터 모델 전체를 검색하여 UIHintAttribute 특성이 적용된 클래스를 찾습니다.
특성이 있으면 Dynamic Data는 특정 데이터 필드 형식을 표시 및 수정하는 데 사용할 필드 템플릿을 지정합니다. 특성이 없으면 Dynamic Data는 데이터 필드 형식과 이름이 일치하는 필드 템플릿을 검색합니다. 예를 들어 정수 값을 표시하려는 경우 Dynamic Data는 Integer.ascx라는 필드 템플릿을 검색합니다. 자세한 내용은 ASP.NET Dynamic Data 필드 템플릿 개요를 참조하십시오.
Dynamic Data를 사용하면 데이터 필드 표시 및 편집을 위해 렌더링되는 UI를 사용자 지정하고 확장할 수 있습니다. 다음과 같은 사용자 지정 방법을 적용할 수 있습니다.
데이터 필드에 사용자 지정 메타데이터 추가. 특성을 사용하여 데이터 필드에 메타데이터를 할당함으로써 해당 데이터 필드의 표시 및 편집을 위한 UI가 렌더링되는 방식을 사용자 지정할 수 있습니다. 예를 들어 UIHintAttribute 특성을 사용하여 데이터 필드에 사용자 지정 필드 템플릿을 연결할 수 있습니다. 자세한 내용은 방법: 데이터 모델의 데이터 필드 모양 및 동작 사용자 지정을 참조하십시오.
데이터 필드 형식에 내장 형식이 아닌 정보 추가. 특성을 사용하여 데이터 소스에서 직접 파생되지 않은 형식을 데이터 필드에 할당할 수 있습니다. 예를 들어 DataTypeAttribute 특성을 사용하여 내장 형식이 아닌 추가 형식을 데이터 필드에 연결할 수 있습니다. 자세한 내용은 방법: 데이터 모델의 내장 형식이 아닌 데이터 형식에 대한 데이터 필드 모양 및 동작 사용자 지정을 참조하십시오.
데이터 필드 유효성 검사
Dynamic Data는 데이터 모델을 기반으로 한 데이터 필드 유효성 검사를 지원합니다. 지원되는 유효성 검사의 종류는 다음과 같습니다.
필수 필드 유효성 검사. 데이터 필드에 null이 허용되지 않는 경우 Dynamic Data는 데이터 필드에 값을 제공해야 합니다.
길이 유효성 검사. 데이터베이스 필드가 문자열인 경우 Dynamic Data는 필드의 최대 길이를 제한합니다.
형식 유효성 검사. Dynamic Data는 데이터 필드의 내장 데이터 형식과 일치하는 값을 사용자가 입력하도록 요구합니다.
Dynamic Data를 사용하면 다음과 같이 데이터 필드 유효성 검사를 사용자 지정하고 확장할 수 있습니다.
특성 사용. Dynamic Data에서 기본으로 제공하는 유효성 검사에 추가 유효성 검사를 적용하려는 경우 및 기본 System.ComponentModel.DataAnnotations 특성만으로도 요구 사항을 충족할 수 있는 경우 이 방법을 사용해야 합니다.
partial 클래스 메서드 사용. 데이터 필드의 변경 내용을 처리하는 partial 메서드를 재정의하여 유효성 검사를 사용자 지정하고 고유의 비즈니스 논리를 추가할 수 있습니다. 특성으로 처리할 수 없는 데이터 모델에 일반 비즈니스 논리를 추가하려는 경우 이 방법을 사용해야 합니다.
자세한 내용은 방법: 데이터 모델의 데이터 필드 유효성 검사 사용자 지정을 참조하십시오.
추가 정보
Dynamic Data에 대한 자세한 내용은 다음 항목을 참조하십시오.
URL 라우팅에 대해 배웁니다. 자세한 내용은 ASP.NET 라우팅을 참조하십시오.
웹 응용 프로그램에서 O/R 디자이너를 사용하여 SQL Server 데이터베이스를 나타내는 데이터 클래스를 만드는 방법을 배웁니다. 자세한 내용은 O/R 디자이너(개체 관계형 디자이너)를 참조하십시오.
웹 응용 프로그램에서 ADO.NET 엔터티 데이터 모델 디자이너를 사용하여 데이터베이스를 나타내는 데이터 클래스를 만드는 방법을 배웁니다. 자세한 내용은 ADO.NET Entity Data Model Designer (Entity Designer)를 참조하십시오.
LINQ-to-SQL 개체 관계형 매핑에 대해 배웁니다. 자세한 내용은 LINQ to SQL을 참조하십시오.
ADO.NET Entity Framework에 대해 배웁니다. 자세한 내용은 ADO.NET Entity Framework를 참조하십시오.
partial 클래스 및 메서드에 대해 배웁니다. 자세한 내용은 Partial 클래스 및 메서드(C# 프로그래밍 가이드)를 참조하십시오.
맨 위로 이동
참고 항목
작업
개념
ASP.NET Dynamic Data 필드 템플릿 개요
ASP.NET Dynamic Data 스캐폴딩 및 페이지 템플릿 개요
참조
System.ComponentModel.DataAnnotations
변경 기록
날짜 |
변경 내용 |
이유 |
---|---|---|
2008년 7월 |
항목이 추가되었습니다. |
SP1 기능 변경 |