Генератор модели 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. Вы также можете получить доступ к средству EdmGen.exe из командной строки Visual Studio (нажмите кнопку "Пуск", наведите указатель на все программы, наведите указатель на Microsoft Visual Studio 2010, наведите указатель на Инструменты Visual Studio и нажмите кнопку Командной строки Visual Studio 2010).

Синтаксис

EdmGen /mode:choice [options]

Режим

При использовании средства EdmGen.exe необходимо указать один из следующих режимов.

Режим Description
/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 Создает файлы CSDL и MSL, исходный код и представления из указанного файла SSDL.

Для этого параметра необходим аргумент /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> Задает используемое имя проекта. Имя проекта используется в качестве значения по умолчанию для параметра пространства имен, имен файлов модели и сопоставления, имени файла источника объекта и имени исходного файла создания представления. Имя контейнера сущности имеет <значение "Контекст проекта>".
/prov[ider]:<string> Имя поставщика данных .NET Framework, используемое для создания файла модели хранения (SSDL). Поставщик по умолчанию — поставщик данных платформы .NET Framework для SQL Server (System.Data.SqlClient).
/c[onnectionstring]:<строка подключения> Задает строку, используемую для подключения к источнику данных.
/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-файлы. Этот аргумент может быть задан несколько раз, поэтому можно назначить несколько каталогов или SSDL-файлов. Эта возможность полезна, когда требуется оценить несколько моделей (/mode:ValidateArtifacts).
/outcsdl:<file> Задает имя создаваемого CSDL-файла.
/outmsl:<file> Задает имя создаваемого MSL-файла.
/outssdl:<file> Задает имя создаваемого SSDL-файла.
/outobjectlayer:<file> Задает имя файла с исходным кодом, в котором содержатся объекты, сформированные из CSDL-файла.
/outviews:<file> Задает имя файла с исходным кодом, в котором содержатся сформированные представления.
/language:[VB|CSharp] Задает язык для сформированных файлов с исходным кодом. Язык по умолчанию — C#.
/namespace:<string> Задает используемое пространство имен модели. Пространство имен задается в CSDL-файле при выполнении /mode:FullGeneration или /mode:FromSSDLGeneration. Пространство имен не используется при выполнении /mode:EntityClassGeneration.
/entitycontainer:<string> Задает имя, применяемое к элементу <EntityContainer> в созданных файлах модели и сопоставлениях.
/pl[uralize] Применяет к концептуальной модели правила английского языка для форм единственного и множественного числа в именах Entity, EntitySet и NavigationProperty. Этот параметр выполняет следующие действия:

- Сделайте все EntityType имена уникальными.
— сделать все EntitySet имена плюралистами.
— Для каждой из них NavigationProperty , возвращающей не более одной сущности, укажите имя.
— Для каждой из них NavigationProperty , возвращающей несколько сущностей, введите число имен.
/SuppressForeignKeyProperties or /nofk Предотвращает раскрытие столбцов внешних ключей в виде скалярных свойств в типах сущностей концептуальной модели.
/help или ? Отображает синтаксис команд и параметров программы.
/nologo Отключает вывод сообщения об авторских правах.
/targetversion:<string> Версия платформы .NET Framework, которая будет использоваться для компиляции сформированного кода. Поддерживаемыми версиями являются 4 и 4.5. Значение по умолчанию — 4.

В этом разделе

Практическое руководство. Использование EdmGen.exe для создания файлов модели и сопоставления

Практическое руководство. Использование EdmGen.exe для создания кода объектного уровня

Практическое руководство. Использование EdmGen.exe для проверки файлов модели и сопоставления

См. также