.edmx 文件是一个 XML 文件,它用于定义概念模型、存储模型和这些模型之间的映射。 .edmx 文件还包含 ADO.NET 实体数据模型设计器(实体设计器)用于以图形方式呈现模型的信息。 创建 .edmx 文件的建议做法是使用实体数据模型向导。 有关更多信息,请参见如何:创建新的 .edmx 文件(实体数据模型工具)。
使用实体设计器修改模型以及使用模型更新向导基于对基础数据库的更改更新模型时,会更改 .edmx 文件。 有关更多信息,请参见模型更新向导(实体数据模型工具)。 在有些情况下,您可能必须手动编辑 .edmx 文件。 有关更多信息,请参见手动编辑 .edmx 文件(实体框架)。
默认情况下,.edmx 文件使用实体设计器打开。 不过,可以按照下列步骤使用 XML 编辑器打开 .edmx 文件:
- 确保项目在 Visual Studio 中打开。
- 在“解决方案资源管理器”中右击 .edmx 文件,然后选择“打开方式...”
- 选择“XML 编辑器”,然后单击“确定”。
.edmx 文件内容
以下是对 .edmx 文件内容的高级分解。 有关详细信息,请参见 Visual Studio XML 目录中的 .edmx 架构。
注意: |
---|
针对 .NET Framework 4 版的应用程序架构在 Microsoft.Data.Entity.Design.Edmx_2.xsd 文件中定义。 针对 .NET Framework 3.5 SP1 版的应用程序架构在 Microsoft.Data.Entity.Design.Edmx_1.xsd 文件中定义。 |
运行时内容 (edmx:Runtime)
本节包含用于生成实体框架应用程序的模型和映射文件的信息。 有关更多信息,请参见下面的“.edmx 文件属性”一节中的 Build Action 属性。
注意: |
---|
.edmx 文件会自动添加到引用 ADO.NET Data Services 服务的应用程序。 在这种情况下,.edmx 文件包含 edmx:DataServices 节点,而不包含 edmx:Runtime 节点。 有关更多信息,请参见 ADO.NET Data Services Framework。 |
设计器内容 (edmx:Designer)
本节包含实体设计器用于以图形方式呈现概念模型以及定义某些概念模型和设计时属性的信息。
- 连接内容 (edmx:Connection):本节介绍了影响连接字符串的概念模型属性。 目前,在本节中可设置的唯一属性为 MetadataArtifactProcessing 属性。 有关更多信息,请参见Connection Strings。
- 选项内容 (edmx:Options):本节介绍了可选的概念模型属性。 目前,在此仅设置 ValidateOnBuild 属性。
- 关系图 (edmx:Diagrams):本节包含实体设计器要用来以图形形式呈现概念模型的信息。
概念模型属性
概念模型的属性是在 .edmx 文件中定义的。 下表介绍在 Visual Studio“属性”窗口中可以看到的概念模型属性:
注意: |
---|
概念模型属性与 .edmx 文件本身的属性不同。 有关更多信息,请参见下面的 .edmx File Properties一节。 |
- Code Generation Strategy
- 针对选定的模型打开或关闭默认对象层代码生成。 值“无”关闭默认代码生成。 值“默认值”打开默认代码生成。 添加自定义文本模板生成对象层代码时该值设置为“无”。 有关更多信息,请参见生成的代码概述(实体数据模型设计器)和如何:自定义对象层代码生成(实体数据模型设计器)。
- Connection String
- 实体客户端连接字符串。 显示的连接字符串取自项目的 App.config 或 Web.Config 文件且具有的名称与“实体容器”名称相同。 有关更多信息,请参见Connection Strings。
- Database Generation Workflow
- 选择“根据模型生成数据库”时执行的工作流。 有关更多信息,请参见如何:根据概念模型生成数据库(实体数据模型工具)和如何:自定义数据库生成(“生成数据库”向导)。
- Database Schema Name
- 从概念模型创建数据库时生成的数据库的架构名称。
- DDL Generation Template
- 用于生成数据库脚本作为“数据库生成工作流”一部分的文本模板。 有关更多信息,请参见如何:根据概念模型生成数据库(实体数据模型工具)和如何:自定义数据库生成(“生成数据库”向导)。
- Entity Container Access
- 控制生成的对象上下文类是“公共”还是“内部”。
- Entity Container Name
- 概念模型实体容器的名称。 有关更多信息,请参见 EntityContainer Element (CSDL)。
- Lazy Loading Enabled
- 控制生成的对象上下文类的 LazyLoadingEnabled 属性是 true 还是 false。 有关更多信息,请参见生成的代码概述(实体数据模型设计器)。
- Metadata Artifact Processing
- 控制模型和映射文件(.csdl、.ssdl 和 .msl 文件)是嵌入在输出程序集中还是复制到输出目录。
- namespace
- 概念模型命名空间。 有关更多信息,请参见Schema Element (CSDL)。
- Pluralize New Objects
- 控制是否以复数形式表示新实体集名称和导航属性名。
- Transform Related Text Templates On Save
- 文本模板通过将 .edmx 文件名插入到该文本模板与 .edmx 文件相关。 有关更多信息,请参见如何:自定义对象层代码生成(实体数据模型设计器)。 如果 Transform Related Text Templates On Save 属性设置为 True,则在保存 .edmx 文件时将处理与 .edmx 文件相关的所有文本模板。 如果该属性设置为 False,则将不处理任何相关的文本模板。
- Validate On Build
- 控制在生成项目时是否验证模型。
.edmx 文件属性
Build Action、Custom Tool 和 Custom Tool Namespace 属性是.edmx 文件的属性。 有关 .edmx 文件的 Copy to Output Directory 和 File Name 属性的更多信息,请参见 Visual Studio 文档中的 File Properties(文件属性)。
注意: |
---|
Copy to Output Directory 文件属性不用于指定模型和映射文件应复制到输出目录, 而是使用概念模型的 Metadata Artifact Processing 属性。 |
若要在 Visual Studio 中查看和编辑 .edmx 文件属性,请按照下列步骤操作:
- 在 Visual Studio 中打开一个包含 .edmx 文件的项目。
- 在“解决方案资源管理器”中右击 .edmx 文件,然后选择“属性”。
可在“属性”窗口看到文件属性。
下表介绍了 .edmx 文件的 Build Action、Custom Tool 和 Custom Tool Namespace 属性:
- Build Action
- 如果此属性设置为 EntityDeploy(默认值),则在执行生成时会根据 .edmx 文件创建三个文件:概念模型文件 (.csdl)、存储模型文件 (.ssdl) 和映射文件 (.msl)。 这些文件会作为资源嵌入或复制到输出目录,具体取决于模型的 Metadata Artifact Processing 属性的值。 有关更多信息,请参见如何:编辑概念模型属性(实体数据模型工具)。 有关 Build Action 属性的其他值的信息,请参见 File Properties(文件属性)。
- Custom Tool
- 如果此属性设置为 EntityModelCodeGenerator (默认值)且“代码生成策略”设置为“默认值”,则实体设计器会创建一个源代码文件,该文件包含从 .edmx 文件中定义的概念模型生成的类。 有关更多信息,请参见生成的代码概述(实体数据模型设计器)。
- Custom Tool Namespace
- 默认情况下,此属性为空。 如果提供某个值,则该值将用作 Custom Tool 属性中指定的工具所生成代码的命名空间。 有关更多信息,请参见生成的代码概述(实体数据模型设计器)。
另请参见
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。