EDM 생성기(EdmGen.exe)

EdmGen.exe는 Entity Framework 모델 및 매핑 파일 작업에 사용되는 명령줄 도구입니다. EdmGen.exe 도구를 사용하여 다음을 수행할 수 있습니다.

EdmGen.exe 도구는 .NET Framework 디렉터리에 설치됩니다. 대체로 이 도구는 C:\windows\Microsoft.NET\Framework\v4.0에 있으며 64비트 시스템의 경우 C:\windows\Microsoft.NET\Framework64\v4.0에 있습니다. Visual Studio 명령 프롬프트에서 EdmGen.exe 도구에 액세스할 수도 있습니다. 시작을 클릭하고 모든 프로그램, Microsoft Visual Studio 2010, Visual Studio Tools를 차례로 가리킨 다음 Visual Studio 2010 명령 프롬프트를 클릭합니다.

EdmGen /mode:choice [options]

모드

EdmGen.exe 도구를 사용하는 경우 다음 모드 중 하나를 지정해야 합니다.

모드 설명

/mode:ValidateArtifacts

.csdl, .ssdl 및 .msl 파일의 유효성을 검사하고 오류 또는 경고를 표시합니다.

이 옵션을 사용하려면 /inssdl 또는 /incsdl 인수 중 하나 이상이 필요합니다. /inmsl을 지정하면 /inssdl/incsdl 인수도 필요합니다.

/mode:FullGeneration

/connectionstring 옵션에 지정된 데이터베이스 연결 정보를 사용하고 .csdl, .ssdl, .msl, 개체 계층 및 뷰 파일을 생성합니다.

이 옵션을 사용하려면 /connectionstring 인수와 /project 인수 또는 /outssdl, /outcsdl, /outmsdl, /outobjectlayer, /outviews, /namespace/entitycontainer 인수 중 하나가 필요합니다.

/mode:FromSSDLGeneration

지정한 .ssdl 파일에서 .csdl 및 .msl 파일, 소스 코드 및 뷰를 생성합니다.

이 옵션을 사용하려면 /inssdl 인수와 /project 인수 또는 /outcsdl, /outmsl, /outobjectlayer, /outviews, /namespace,/entitycontainer 인수 중 하나가 필요합니다.

/mode:EntityClassGeneration

.csdl 파일에서 생성된 클래스가 포함되는 소스 코드 파일을 만듭니다.

이 옵션을 사용하려면 /incsdl 인수와 /project 인수 또는 /outobjectlayer 인수가 필요합니다. /language 인수는 선택적 요소입니다.

/mode:ViewGeneration

.csdl, .ssdl 및 .msl 파일에서 생성된 뷰가 포함되는 소스 코드 파일을 만듭니다.

이 옵션을 사용하려면 /inssdl, /incsdl, /inmsl, 인수와 /project 또는 /outviews 인수가 필요합니다. /language 인수는 선택적 요소입니다.

옵션

옵션 설명

/p[roject]:<string>

사용할 프로젝트 이름을 지정합니다. 프로젝트 이름은 네임스페이스 설정, 모델 및 매핑 파일 이름, 개체 소스 파일 이름, 뷰 생성 소스 파일 이름의 기본값으로 사용됩니다. 엔터티 컨테이너 이름은 <project>Context로 설정됩니다.

/prov[ider]:<string>

저장소 모델(.ssdl) 파일을 생성하는 데 사용할 .NET Framework 데이터 공급자의 이름입니다. 기본 공급자는 .NET Framework Data Provider for SQL Server(System.Data.SqlClient)입니다.

/c[onnectionstring]:<connection string>

데이터 소스에 연결하는 데 사용되는 문자열을 지정합니다.

/incsdl:<file>

.csdl 파일 또는 .csdl 파일이 있는 디렉터리를 지정합니다. 몇 개의 디렉터리나 .csdl 파일을 지정할 수 있도록 이 인수를 여러 번 지정할 수 있습니다. 여러 디렉터리를 지정하면 개념적 모델이 몇 개의 파일에 분할되어 있을 때 클래스(/mode:EntityClassGeneration) 또는 뷰(/mode:ViewGeneration)를 생성하는 데 유용할 수 있습니다. 여러 모델(/mode:ValidateArtifacts)의 유효성을 검사하려는 경우에도 유용할 수 있습니다.

/refcsdl:<file>

소스 .csdl 파일의 참조를 확인하는 데 사용되는 추가 .csdl 파일을 지정합니다. 소스 .csdl 파일은 /incsdl 옵션으로 지정된 파일입니다. /refcsdl 파일에는 소스 .csdl 파일이 종속된 형식이 들어 있습니다. 이 인수를 여러 번 지정할 수 있습니다.

/inmsl:<file>

.msl 파일 또는 .msl 파일이 있는 디렉터리를 지정합니다. 몇 개의 디렉터리나 .msl 파일을 지정할 수 있도록 이 인수를 여러 번 지정할 수 있습니다. 여러 디렉터리를 지정하면 개념적 모델이 몇 개의 파일에 분할되어 있을 때 뷰(/mode:ViewGeneration)를 생성하는 데 유용할 수 있습니다. 여러 모델(/mode:ValidateArtifacts)의 유효성을 검사하려는 경우에도 유용할 수 있습니다.

/inssdl:<file>

.ssdl 파일 또는 .ssdl 파일이 있는 디렉터리를 지정합니다.

/outcsdl:<file>

만들 .csdl 파일의 이름을 지정합니다.

/outmsl:<file>

만들 .msl 파일의 이름을 지정합니다.

/outssdl:<file>

만들 .ssdl 파일의 이름을 지정합니다.

/outobjectlayer:<file>

.csdl 파일에서 생성된 개체가 포함되는 소스 코드 파일의 이름을 지정합니다.

/outviews:<file>

생성된 뷰가 포함되는 소스 코드 파일의 이름을 지정합니다.

/language:[VB|CSharp]

생성되는 소스 코드 파일의 언어를 지정합니다. 기본 언어는 C#입니다.

/namespace:<string>

사용할 모델 네임스페이스를 지정합니다. 네임스페이스는 /mode:FullGeneration 또는 /mode:FromSSDLGeneration을 실행할 때 .csdl 파일에서 설정됩니다. /mode:EntityClassGeneration을 실행할 때는 네임스페이스가 사용되지 않습니다.

/entitycontainer:<string>

생성되는 모델 및 매핑 파일의 <EntityContainer> 요소에 적용할 이름을 지정합니다.

/pl[uralize]

개념적 모델의 Entity, EntitySetNavigationProperty 이름에 영어의 단수 및 복수 규칙을 적용합니다. 이 옵션은 다음 동작을 수행합니다.

  • 모든 EntityType 이름을 단수화합니다.

  • 모든 EntitySet 이름을 복수화합니다.

  • 최대 하나의 엔터티를 반환하는 각 NavigationProperty의 경우 이름을 단수화합니다.

  • 두 개 이상의 엔터티를 반환하는 각 NavigationProperty의 경우 이름을 복수화합니다.

/SupressForeignKeyProperties or /nofk

외래 키 열이 개념적 모델의 엔터티 형식에 대한 스칼라 속성으로 노출되지 않도록 합니다.

/help 또는 ?

이 도구의 명령 구문 및 옵션을 표시합니다.

/nologo

저작권 메시지가 표시되지 않도록 합니다.

단원 내용

방법: EdmGen.exe를 사용하여 모델 및 매핑 파일 생성

방법: EdmGen.exe를 사용하여 개체 계층 코드 생성

방법: EdmGen.exe를 사용하여 모델 및 매핑 파일의 유효성 검사

참고 항목

기타 리소스

Entity Data Model Tools
Entity Data Model
CSDL, SSDL 및 MSL 사양