Entity Framework Designer를 사용하여 모델을 만들면 클래스 및 파생 컨텍스트가 자동으로 생성됩니다. 기본 코드 생성 외에도 생성되는 코드를 사용자 지정하는 데 사용할 수 있는 여러 템플릿도 제공합니다. 이러한 템플릿은 T4 텍스트 템플릿으로 제공되므로 필요한 경우 템플릿을 사용자 지정할 수 있습니다.
기본적으로 생성되는 코드는 모델을 만드는 Visual Studio 버전에 따라 달라집니다.
- Visual Studio 2012 및 2013에서 만든 모델은 간단한 POCO 엔터티 클래스와 간소화된 DbContext에서 파생되는 컨텍스트를 생성합니다.
- Visual Studio 2010에서 만든 모델은 EntityObject에서 파생되는 엔터티 클래스와 ObjectContext에서 파생되는 컨텍스트를 생성합니다.
메모
모델을 추가한 후에는 DbContext 생성기 템플릿으로 전환하는 것이 좋습니다.
이 페이지에서는 사용 가능한 템플릿에 대해 설명한 다음 모델에 템플릿을 추가하기 위한 지침을 제공합니다.
사용 가능한 템플릿
Entity Framework 팀에서 제공하는 템플릿은 다음과 같습니다.
DbContext 생성기
이 템플릿은 EF6을 사용하여 DbContext에서 파생되는 간단한 POCO 엔터티 클래스 및 컨텍스트를 생성합니다. 아래에 나열된 다른 템플릿 중 하나를 사용할 이유가 없는 한 권장되는 템플릿입니다. 또한 최신 버전의 Visual Studio(Visual Studio 2013 이상)를 사용하는 경우 기본적으로 가져오는 코드 생성 템플릿이기도 합니다. 새 모델을 만들 때 이 템플릿은 기본적으로 사용되며 T4 파일(.tt)은 .edmx 파일 아래에 중첩됩니다.
이전 버전의 Visual Studio
- Visual Studio 2012:EF 6.x DbContextGenerator 템플릿을 얻으려면 Visual Studio용 최신 Entity Framework 도구를 설치해야 합니다. 자세한 내용은 Entity Framework 가져오기 페이지를 참조하세요.
- Visual Studio 2010: Visual Studio 2010에서는 EF 6.x DbContextGenerator 템플릿을 사용할 수 없습니다.
EF 5.x용 DbContext 생성기
이전 버전의 EntityFramework NuGet 패키지(주 버전이 5인 패키지)를 사용하는 경우 EF 5.x DbContext 생성기 템플릿을 사용해야 합니다.
Visual Studio 2013 또는 2012를 사용하는 경우 이 템플릿이 이미 설치되어 있습니다.
Visual Studio 2010을 사용하는 경우 템플릿을 추가할 때 온라인 탭을 선택하여 Visual Studio 갤러리에서 다운로드해야 합니다. 또는 미리 Visual Studio 갤러리에서 직접 템플릿을 설치할 수 있습니다. 템플릿은 이후 버전의 Visual Studio에 포함되어 있으므로 갤러리의 버전은 Visual Studio 2010에만 설치할 수 있습니다.
- C용 EF 5.x DbContext 생성기#
- C# 웹 사이트에 대한 EF 5.x DbContext 생성기
- VB.NET EF 5.x DbContext 생성기
- VB.NET 웹 사이트에 대한 EF 5.x DbContext 생성기
EF 4.x용 DbContext 생성기
이전 버전의 EntityFramework NuGet 패키지(주 버전이 4인 패키지)를 사용하는 경우 EF 4.x DbContext 생성기 템플릿을 사용해야 합니다. 템플릿을 추가할 때 온라인 탭에서 찾을 수 있거나 Visual Studio 갤러리에서 직접 템플릿을 미리 설치할 수 있습니다.
- C용 EF 4.x DbContext 생성기#
- C# 웹 사이트에 대한 EF 4.x DbContext 생성기
- VB.NET EF 4.x DbContext 생성기
- VB.NET 웹 사이트에 대한 EF 4.x DbContext 생성기
EntityObject 생성기
이 템플릿은 EntityObject에서 파생되는 엔터티 클래스와 ObjectContext에서 파생되는 컨텍스트를 생성합니다.
메모
DbContext 생성기 사용 고려
이제 DbContext 생성기가 새 애플리케이션에 권장되는 템플릿입니다. DbContext 생성기는 더 간단한 DbContext API를 활용합니다. EntityObject 생성기는 기존 애플리케이션을 지원하는 데 계속 사용할 수 있습니다.
Visual Studio 2010, 2012 및 2013
Visual Studio 갤러리에서 다운로드할 템플릿을 추가할 때 온라인 탭을 선택해야 합니다. 또는 미리 Visual Studio 갤러리에서 직접 템플릿을 설치할 수 있습니다.
- C용 EF 6.x EntityObject 생성기#
- C# 웹 사이트에 대한 EF 6.x EntityObject 생성기
- VB.NET 대한 EF 6.x EntityObject 생성기
- VB.NET 웹 사이트에 대한 EF 6.x EntityObject 생성기
EF 5.x용 EntityObject 생성기
Visual Studio 2012 또는 2013을 사용하는 경우 템플릿을 추가할 때 온라인 탭을 선택하여 Visual Studio 갤러리에서 다운로드해야 합니다. 또는 미리 Visual Studio 갤러리에서 직접 템플릿을 설치할 수 있습니다. 템플릿은 Visual Studio 2010에 포함되어 있으므로 갤러리의 버전은 Visual Studio 2012 및 2013에만 설치할 수 있습니다.
- C용 EF 5.x EntityObject 생성기#
- C# 웹 사이트에 대한 EF 5.x EntityObject 생성기
- VB.NET 대한 EF 5.x EntityObject 생성기
- VB.NET 웹 사이트에 대한 EF 5.x EntityObject 생성기
템플릿을 편집할 필요 없이 ObjectContext 코드 생성만 하려면 EntityObject 코드 생성으로 되돌릴 수 있습니다.
Visual Studio 2010을 사용하는 경우 이 템플릿이 이미 설치되어 있습니다. Visual Studio 2010에서 새 모델을 만드는 경우 이 템플릿은 기본적으로 사용되지만 .tt 파일은 프로젝트에 포함되지 않습니다. 템플릿을 사용자 지정하려면 프로젝트에 추가해야 합니다.
자기 추적 개체(STE) 생성기
이 템플릿은 Self-Tracking Entity 클래스 및 ObjectContext에서 파생되는 컨텍스트를 생성합니다. EF 애플리케이션에서 컨텍스트는 엔터티의 변경 내용을 추적합니다. 그러나 N 계층 시나리오에서는 엔터티를 수정하는 계층에서 컨텍스트를 사용할 수 없을 수 있습니다. 자체 추적 엔터티는 모든 계층의 변경 내용을 추적하는 데 도움이 됩니다. 자세한 내용은 자기 추적 엔터티를 참조하세요.
메모
STE 템플릿은 권장되지 않습니다.
새 애플리케이션에서 STE 템플릿을 더 이상 사용하지 않는 것이 좋습니다. 기존 애플리케이션을 계속 지원할 수 있습니다. N 계층 시나리오에 권장되는 다른 옵션은 연결이 끊긴 엔터티 문서를 참조하세요.
메모
STE 템플릿의 EF 6.x 버전이 없습니다.
메모
VISUAL Studio 2013 버전의 STE 템플릿이 없습니다.
Visual Studio 2012
Visual Studio 2012를 사용하는 경우 템플릿을 추가할 때 온라인 탭을 선택하여 Visual Studio 갤러리에서 다운로드해야 합니다. 또는 미리 Visual Studio 갤러리에서 직접 템플릿을 설치할 수 있습니다. 템플릿은 Visual Studio 2010에 포함되어 있으므로 갤러리의 버전은 Visual Studio 2012에만 설치할 수 있습니다.
- C용 EF 5.x STE 생성기#
- C# 웹 사이트에 대한 EF 5.x STE 생성기
- VB.NET EF 5.x STE 생성기
- VB.NET 웹 사이트에 대한 EF 5.x STE 생성기
Visual Studio 2010**
Visual Studio 2010을 사용하는 경우 이 템플릿이 이미 설치되어 있습니다.
POCO 엔터티 생성기
이 템플릿은 ObjectContext에서 파생되는 POCO 엔터티 클래스 및 컨텍스트를 생성합니다.
메모
DbContext 생성기 사용 고려
이제 DbContext 생성기는 새 애플리케이션에서 POCO 클래스를 생성하는 데 권장되는 템플릿입니다. DbContext 생성기는 새 DbContext API를 활용하고 더 간단한 POCO 클래스를 생성할 수 있습니다. POCO 엔터티 생성기는 기존 애플리케이션을 지원하기 위해 계속 사용할 수 있습니다.
메모
EF 5.x 또는 EF 6.x 버전의 STE 템플릿이 없습니다.
메모
VISUAL Studio 2013 버전의 POCO 템플릿이 없습니다.
Visual Studio 2012 및 Visual Studio 2010
Visual Studio 갤러리에서 다운로드할 템플릿을 추가할 때 온라인 탭을 선택해야 합니다. 또는 미리 Visual Studio 갤러리에서 직접 템플릿을 설치할 수 있습니다.
- C용 EF 4.x POCO 생성기#
- C# 웹 사이트에 대한 EF 4.x POCO 생성기
- VB.NET EF 4.x POCO 생성기
- VB.NET 웹 사이트에 대한 EF 4.x POCO 생성기
"웹 사이트" 템플릿이란?
"웹 사이트" 템플릿(예: C# 웹 사이트에 대한 EF 5.x DbContext 생성기)은 파일 - 새로 만들기 ->> 웹 사이트를 통해 만든 웹 사이트 프로젝트에 사용됩니다. 이는 표준 템플릿을 사용하는 파일 - 새로 만들기 ->> 프로젝트...를 통해 만든 웹 애플리케이션과 다릅니다. Visual Studio의 항목 템플릿 시스템에 필요하므로 별도의 템플릿을 제공합니다.
템플릿 사용
코드 생성 템플릿 사용을 시작하려면 EF 디자이너의 디자인 화면에서 빈 지점을 마우스 오른쪽 단추로 클릭하고 코드 생성 항목 추가...를 선택합니다.
사용하려는 템플릿을 이미 설치했거나 Visual Studio에 포함된 경우 왼쪽 메뉴의 코드 또는 데이터 섹션에서 사용할 수 있습니다.
아직 템플릿을 설치하지 않은 경우 왼쪽 메뉴에서 온라인 을 선택하고 원하는 템플릿을 검색합니다.
Visual Studio 2012를 사용하는 경우 새 .tt 파일이 .edmx 파일 아래에 중첩됩니다.*
메모
Visual Studio 2012에서 만든 모델의 경우 기본 코드 생성에 사용되는 템플릿을 삭제해야 합니다. 그렇지 않으면 중복 클래스 및 컨텍스트가 생성됩니다. 기본 파일은 <model name.tt> 및 <model name.context.tt>.
Visual Studio 2010을 사용하는 경우 tt 파일이 프로젝트에 직접 추가됩니다.
.NET