本主题介绍如何手动编辑 .edmx 文件以将在数据源中存储 uniqueidentifier 值的二进制列映射到概念模型中的 GUID 属性。 使用实体数据模型向导或模型更新向导(实体数据模型工具)生成或更新数据模型时,会为数据源中 uniqueidentifier 类型化的列自动生成实体类型的 GUID 属性。 数据源还可以使用 16 个字节的二进制列存储 GUID 值。 由于这些工具为数据源中的每个二进制列均生成一个二进制属性,因此您必须通过编辑 .edmx 文件手动更新此类列到 GUID 属性的映射。
本主题中的过程假定您已在 Visual Studio 中打开一个有效的 .edmx 文件。
![]() |
---|
如果您使用模型更新向导更新模型,将覆盖按照下面过程的建议对 .edmx 文件的 SSDL 部分所做的更改。 |
将 GUID 属性映射到包含 GUID 值的二进制列
在实体数据模型 设计器中,选择要更改为 GUID 类型的属性。
在**“属性”**窗口中,将类型从 Binary 更改为 Guid。
如果此时您尝试生成项目,将发生映射错误。
保存模型,关闭实体数据模型 设计器,然后使用 XML 编辑器打开 .edmx 文件。
在 SSDL 部分中,查找与 CSDL 部分中的 GUID 属性对应的二进制属性。
将此属性的 Type 特性的值更改为
uniqueidentifier
。 有关更多信息,请参见Property Element (EntityType SSDL)。保存对模型的更改并重新生成解决方案以重新生成数据类。