Генератор модели EDM (EdmGen.exe)
EdmGen.exe — средство командной строки, используемое для работы с моделями Entity Data Model (модели EDM). Средство EdmGen.exe можно применять для:
подключения к источнику данных с использованием специфического для источника данных поставщика данных .NET Framework, а также формирования файлов концептуальной модели (CSDL), модели хранения (SSDL) и сопоставления (MSL), используемых моделью EDM (дополнительные сведения см. в разделе Как использовать программу EdmGen.exe для формирования модели EDM (Entity Framework));
проверки существующей модели (дополнительные сведения см. в разделе Как использовать программу EdmGen.exe для проверки модели EDM);
создания файла кода C# или Visual Basic, который содержит классы объектов, сформированные из файла концептуальной модели (CSDL) (дополнительные сведения см. в разделе Как при помощи программы EdmGen.exe создавать файлы модели объектов (платформа Entity Framework));
создания файла кода C# или Visual Basic, который содержит заранее сформированные представления для существующей модели (дополнительные сведения см. в разделе Как предварительно создать представления для повышения производительности запросов (платформа Entity Framework)).
Средство EdmGen.exe устанавливается в каталог .NET Framework. Во многих случаях он расположен в каталоге c:\windows\Microsoft.NET\Framework\v3.5. Можно также обратиться к средству EdmGen.exe из командной строки Visual Studio (щелкните Пуск, укажите Все программы, Microsoft Visual Studio 2008, Средства Visual Studio, а затем щелкните Командная строка Visual Studio 2008).
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]:<строка> |
Задает используемое имя проекта. Имя проекта используется как значение по умолчанию для параметра пространства имен, имени EDM-файлов, имени файла источника объекта и имени исходного файла создания представления. Имени контейнера сущностей назначается значение <проект>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:<строка> |
Задает имя, применяемое к элементу |
/help или ? |
Отображает синтаксис и параметры команд этого средства. |
/nologo |
Отключает вывод сообщения об авторских правах. |
См. также
Основные понятия
Другие ресурсы
Средства работы с моделью EDM
Implementing an EDM Object Model