Share via


방법: 개체 계층 코드 생성 사용자 지정(엔터티 데이터 모델 디자이너)

이 항목에서는 ADO.NET 엔터티 데이터 모델 디자이너(Entity Designer) 및 텍스트 템플릿을 사용하여 개체 컨텍스트 및 엔터티 클래스(개체 계층 코드)의 생성을 사용자 지정하는 방법에 대해 설명합니다.

기본적으로 Entity Designer는 EntityModelCodeGenerator 사용자 지정 도구를 사용하여 개체 계층 코드를 생성합니다. 자세한 내용은 생성된 코드 개요(엔터티 데이터 모델 디자이너)를 참조하십시오. 프로젝트에 텍스트 템플릿을 추가하면 Entity Designer에서 기본 사용자 지정 도구를 사용하는 대신 이 템플릿을 사용하여 개체 계층 코드를 생성할 수 있습니다.

Dd456821.note(ko-kr,VS.100).gif참고:
명령줄 도구를 사용하여 텍스트 템플릿으로 개체 계층 코드를 생성할 수 있습니다.자세한 내용은 Command-Line Tools for Text Templates를 참조하십시오.

Visual Studio에서는 Entity Framework 개체 계층 코드를 생성하는 ADO.NET EntityObject 생성기ADO.NET 자동 추적 엔터티 생성기라는 두 가지 ADO.NET 템플릿을 제공합니다. ADO.NET EntityObject 생성기는 EntityModelCodeGenerator 사용자 지정 도구와 동일한 코드를 생성하고, ADO.NET 자동 추적 엔터티 생성기 템플릿은 자동 추적 상태 논리를 포함하는 엔터티 클래스를 생성합니다. N 계층 응용 프로그램으로 작업하는 경우 자동 추적 엔터티를 사용합니다. ADO.NET 템플릿에 대한 자세한 내용은 ADO.NET EntityObject 생성기 템플릿ADO.NET 자동 추적 엔터티 생성기 템플릿을 참조하십시오.

아래 절차를 수행하기 위해 다음을 가정합니다.

  • Visual Studio 2010에 열려 있는 .NET Framework 4을 대상으로 하는 Visual Basic 또는 C# 프로젝트가 있습니다.

  • .edmx 파일이 Entity Designer에서 열려 있습니다.

  • 텍스트 템플릿을 쉽게 사용자 지정합니다. 텍스트 템플릿에 대한 자세한 내용은 Generating Artifacts를 참조하십시오.

개체 계층 코드 생성을 사용자 지정하려면

  1. Entity Designer 화면의 빈 영역을 마우스 오른쪽 단추로 클릭하고 코드 생성 항목 추가를 가리킨 다음, 사용 가능한 템플릿을 선택합니다. 사용 가능한 템플릿이 없으면 설치된 템플릿 창에서 코드를 선택합니다.

    코드 생성 항목은 하나 이상의 텍스트 템플릿(.tt) 파일을 프로젝트에 추가합니다. 텍스트 템플릿은 개체 계층 코드를 생성합니다. 생성된 파일은 .tt 파일 아래에 추가됩니다. 이 템플릿을 수정하지 않는 경우 생성된 코드가 Entity Designer에 의해 생성된 코드와 동일해집니다.

    프로젝트에 텍스트 템플릿을 추가하면 Visual Studio에서 다음 작업을 수행합니다.

    • 개념적 모델의 Code Generation Strategy 속성을 None으로 설정합니다. 이렇게 하면 기본 코드 생성을 사용할 수 없습니다.

    • .edmx 파일과 같은 디렉터리의 프로젝트에 새 텍스트 템플릿 파일을 추가합니다.

    • 텍스트 템플릿에 상대적인 .edmx 파일 경로를 텍스트 템플릿에 삽입합니다. 텍스트 템플릿에서 올바른 .edmx 파일을 처리하도록 할 때 이 작업을 수행합니다.

    • 텍스트 템플릿을 사용하여 .edmx 파일을 기반으로 코드를 생성합니다. 생성된 코드는 <text_template_name>.cs 또는 <text_template_name>.vb 파일로 작성됩니다. 파일이 솔루션 탐색기에서 템플릿 파일의 종속 파일로 추가됩니다.

  2. 텍스트 템플릿을 열고 편집합니다.

  3. 편집한 텍스트 템플릿 파일을 저장합니다.

    텍스트 템플릿 파일을 저장하면 편집한 텍스트 템플릿 파일에 따라 개체 계층 코드가 다시 생성됩니다.

기본적으로 .edmx 파일을 저장할 때마다 .edmx 파일에 대한 개체 계층 코드 생성이 트리거됩니다. <text_template_name>.cs 또는 <text_template_name>.vb 코드 파일에 수동으로 변경한 내용은 유지되지 않습니다. .edmx 파일에 두 개 이상의 텍스트 템플릿 파일이 연결되어 있는 경우 .edmx 파일을 저장하면 연결된 모든 코드 파일이 다시 생성됩니다. 그러나 이 동작을 변경할 수 있습니다. 개념적 모델의 Transform Related Text Templates On Save 속성을 false로 설정하면 파일을 저장할 때 코드 파일이 다시 생성되지 않습니다.

모델과 .tt 파일을 여러 프로젝트에 분할하는 경우 .edmx 파일이나 .tt 파일을 수정할 때마다 코드 생성을 수동으로 실행해야 합니다. 이렇게 하려면 솔루션 탐색기에서 모든 템플릿 변환 단추를 클릭합니다. Walkthrough: Serialize Self-Tracking Entities 항목에서는 모델과 .tt 파일을 여러 프로젝트에 분할하는 방법을 보여 줍니다.

참고 항목

개념

.edmx 파일 개요(Entity Framework)

기타 리소스

엔터티 데이터 모델 도구