Генератор модели 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 необходимо указать один из следующих режимов.
Режим | 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 , /namespace /outviews и /entitycontainer аргументов. |
/mode:EntityClassGeneration |
Создает файл с исходным кодом, в котором содержатся классы, сформированные на базе файла CSDL. Для этого параметра необходим аргумент /incsdl , а также аргумент /project или аргумент /outobjectlayer . Аргумент /language не обязателен. |
/mode:ViewGeneration |
Создает файл с исходным кодом, в котором содержатся представления, сформированные на базе файлов CSDL, SSDL и MSL. Для этого параметра требуется /inssdl , /inmsl /incsdl а также /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 для проверки файлов модели и сопоставления