ADO.NET Entity Framework EDM 生成器 (EdmGen.exe)

EdmGen.exe 是用于处理实体框架模型和映射文件的命令行工具。使用 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 工具”,然后单击 “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]:<字符串>

指定要使用的项目名称。该项目名称用作命名空间设置、模型和映射文件的名称、对象源文件的名称以及视图生成源文件的名称的默认值。实体容器名称设置为 <项目>Context。

/prov[ider]:<字符串>

生成存储模型 (.ssdl) 文件要使用的 .NET Framework 数据提供程序的名称。默认的提供程序是用于 SQL Server 的 .NET Framework 数据提供程序 ( 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:<字符串>

指定要使用的模型命名空间。命名空间是在运行 /mode:FullGeneration/mode:FromSSDLGeneration 时在 .csdl 文件中设置的。 在运行 /mode:EntityClassGeneration 时不使用该命名空间。

/entitycontainer:<字符串>

指定要应用于生成的模型和映射文件中 <EntityContainer> 元素的名称。

/pl[uralize]

对概念模型中 EntityEntitySetNavigationProperty 名称的单复数形式应用英语语言规则。 此选项将执行以下操作:

  • 使所有 EntityType 名称采用单数形式。

  • 使所有 EntitySet 名称采用复数形式。

  • 对于每个最多返回一个实体的 NavigationProperty,使名称采用单数形式。

  • 对于每个返回多个实体的 NavigationProperty,使名称采用复数形式。

/SupressForeignKeyProperties or /nofk

防止外键列公开为概念模型中实体类型上的标量属性。

/help?

显示该工具的命令语法和选项。

/nologo

禁止显示版权信息。

本节内容

如何:使用 EdmGen.exe 生成模型和映射文件

如何:使用 EdmGen.exe 生成对象层代码

如何:使用 EdmGen.exe 验证模型和映射文件

请参见

其他资源

posted @ 2010-12-29 18:14 子福当自强 阅读(...) 评论(...) 编辑 收藏
悟道2012