Генератор модели EDM (EdmGen.exe)
EdmGen.exe — программа командной строки, предназначенная для работы с файлами моделей и сопоставлениями Entity Framework . Средство EdmGen.exe можно применять для следующих целей.
Соединения с источником данных с помощью определяемого источником данных поставщика данных .NET Framework, а также формирования файлов концептуальной модели (CSDL), модели хранения (SSDL) и сопоставления (MSL), используемых платформой Entity Framework . Дополнительные сведения см. в разделе Как использовать средство EdmGen.exe для создания файлов модели и сопоставления.
Проверки существующей модели. Дополнительные сведения см. в разделе Как использовать EdmGen.exe для проверки модели и файлов сопоставления.
Создания файла кода C# или Visual Basic, который содержит классы объектов, сформированные из файла концептуальной модели (CSDL). (дополнительные сведения см. в разделе Как создать код уровня объектов с помощью программы EdmGen.exe);
Создания файла кода C# или Visual Basic, который содержит заранее сформированные представления для существующей модели. (дополнительные сведения см. в разделе Как предварительно создать представления для повышения производительности запросов).
Средство 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 необходимо указать один из следующих режимов.
Режим | Описание |
---|---|
/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]:<строка> |
Задает используемое имя проекта. Имя проекта используется в качестве значения по умолчанию для параметра пространства имен, имен файлов модели и сопоставления, имени файла источника объекта и имени исходного файла создания представления. Имени контейнера сущностей назначается значение <проект>Context. |
/prov[ider]:<строка> |
Имя поставщика данных .NET Framework для создания файла модели хранения (SSDL). Поставщиком по умолчанию является поставщик данных .NET Framework SQL Server (System.Data.SqlClient). |
/c[onnectionstring]:<строка соединения> |
Задает строку, используемую для подключения к источнику данных. |
/incsdl:<файл> |
Указывает CSDL-файл или каталог, в котором находятся CSDL-файлы. Этот аргумент может быть задан несколько раз, поэтому можно назначить несколько каталогов или CSDL-файлов. Назначение нескольких каталогов может быть полезным для формирования классов (/mode:EntityClassGeneration) или представлений (/mode:ViewGeneration), когда концептуальная модель разбита между несколькими файлами. Эта возможность также полезна, когда требуется оценить несколько моделей (/mode:ValidateArtifacts). |
/refcsdl:<файл> |
Задает дополнительный CSDL-файл или файлы, используемые для разрешения любых ссылок на исходный CSDL-файл. (Исходный CSDL-файл это тот файл, который задан параметром /incsdl.) Файл /refcsdl содержит типы, от которых зависит исходный CSDL-файл. Этот аргумент может быть задан несколько раз. |
/inmsl:<файл> |
Указывает MSL-файл или каталог, в котором находятся MSL-файлы. Этот аргумент может быть задан несколько раз, поэтому можно назначить несколько каталогов или MSL-файлов. Назначение нескольких каталогов может быть полезным для формирования представлений (/mode:ViewGeneration), когда концептуальная модель разбита между несколькими файлами. Эта возможность также полезна, когда требуется оценить несколько моделей (/mode:ValidateArtifacts). |
/inssdl:<файл> |
Указывает SSDL-файл или каталог, в котором находятся SSDL-файлы. |
/outcsdl:<файл> |
Задает имя создаваемого CSDL-файла. |
/outmsl:<файл> |
Задает имя создаваемого MSL-файла. |
/outssdl:<файл> |
Задает имя создаваемого SSDL-файла. |
/outobjectlayer:<файл> |
Задает имя файла с исходным кодом, в котором содержатся объекты, сформированные из CSDL-файла. |
/outviews:<файл> |
Задает имя файла с исходным кодом, в котором содержатся сформированные представления. |
/language:[VB|CSharp] |
Задает язык для сформированных файлов с исходным кодом. Язык по умолчанию — C#. |
/namespace:<строка> |
Задает используемое пространство имен модели. Пространство имен задается в CSDL-файле при выполнении /mode:FullGeneration или /mode:FromSSDLGeneration. Пространство имен не используется при выполнении /mode:EntityClassGeneration. |
/entitycontainer:<строка> |
Задает имя, применяемое к элементу |
/pl[uralize] |
Применяет к концептуальной модели правила английского языка для форм единственного и множественного числа в именах Entity, EntitySet и NavigationProperty. Этот параметр выполняет следующие действия:
|
/SupressForeignKeyProperties or /nofk |
Предотвращает раскрытие столбцов внешних ключей в виде скалярных свойств в типах сущностей концептуальной модели. |
/help or ? |
Отображает синтаксис команд и параметров инструмента. |
/nologo |
Отключает вывод сообщения об авторских правах. |
В этом разделе
Как использовать средство EdmGen.exe для создания файлов модели и сопоставления
Как создать код уровня объектов с помощью программы EdmGen.exe
Как использовать EdmGen.exe для проверки модели и файлов сопоставления
См. также
Другие ресурсы
Entity Data Model Tools
Entity Data Model
Спецификации языка CSDL, SSDL и MSL