打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
.edmx 文件概述(实体框架)

.edmx 文件是一个 XML 文件,它用于定义概念模型、存储模型和这些模型之间的映射。 .edmx 文件还包含 ADO.NET 实体数据模型设计器(实体设计器)用于以图形方式呈现模型的信息。 创建 .edmx 文件的建议做法是使用实体数据模型向导。 有关更多信息,请参见如何:创建新的 .edmx 文件(实体数据模型工具)

使用实体设计器修改模型以及使用模型更新向导基于对基础数据库的更改更新模型时,会更改 .edmx 文件。 有关更多信息,请参见模型更新向导(实体数据模型工具) 在有些情况下,您可能必须手动编辑 .edmx 文件。 有关更多信息,请参见手动编辑 .edmx 文件(实体框架)

默认情况下,.edmx 文件使用实体设计器打开。 不过,可以按照下列步骤使用 XML 编辑器打开 .edmx 文件:

  1. 确保项目在 Visual Studio 中打开。

  2. “解决方案资源管理器”中右击 .edmx 文件,然后选择“打开方式...”

  3. 选择“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:StorageModels):本节介绍了目标数据库架构且使用存储架构定义语言 (SSDL) 编写。 有关更多信息,请参见 SSDL SpecificationEntityContainer Element (SSDL)

  • 概念模型内容 (edmx:ConceptualModels):本节定义了应用程序域中的实体类型、复杂类型、关联、实体容器、实体集以及关联集。 本节使用概念存储定义语言 (CSDL) 编写。 有关更多信息,请参见 CSDL SpecificationEntityContainer Element (CSDL)

  • 映射内容 (edmx:Mappings):本节介绍了概念模型与目标数据库之间的映射,并且使用映射规范语言 (MSL) 编写。 有关更多信息,请参见 MSL Specification

设计器内容 (edmx:Designer)

本节包含实体设计器用于以图形方式呈现概念模型以及定义某些概念模型和设计时属性的信息。

注意:
.edmx 文件会自动添加到引用 ADO.NET Data Services 服务的应用程序。 在这种情况下,.edmx 文件不包含 edmx:Designer 节点且不能使用实体设计器进行查看。 有关更多信息,请参见 ADO.NET Data Services Framework

  • 连接内容 (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 ActionCustom ToolCustom Tool Namespace 属性是.edmx 文件的属性。 有关 .edmx 文件的 Copy to Output DirectoryFile Name 属性的更多信息,请参见 Visual Studio 文档中的 File Properties(文件属性)。

注意:
Copy to Output Directory 文件属性不用于指定模型和映射文件应复制到输出目录, 而是使用概念模型的 Metadata Artifact Processing 属性。

若要在 Visual Studio 中查看和编辑 .edmx 文件属性,请按照下列步骤操作:

  1. 在 Visual Studio 中打开一个包含 .edmx 文件的项目。

  2. “解决方案资源管理器”中右击 .edmx 文件,然后选择“属性”

    可在“属性”窗口看到文件属性。

下表介绍了 .edmx 文件的 Build ActionCustom ToolCustom 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 属性中指定的工具所生成代码的命名空间。 有关更多信息,请参见生成的代码概述(实体数据模型设计器)

另请参见

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Mvc 3 创建数据库实体对象模型(拓展名为.edmx的文件)时,无法从数据库中映射生成
E-R图
在EF下使用基于T4模版的POCO实体生成器
结合领域驱动设计的SOA分布式软件架构(一)
Entity Framework4.0 (四) EF4的内部结构和几个基本概念
在Entity Framework中使用存储过程(四):如何为Delete存储过程参数赋上Current值?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服