如何:创建和修改复杂类型(实体数据模型工具)

本主题描述如何使用 ADO.NET 实体数据模型设计器(实体设计器)创建和修改复杂类型。 有关使用复杂类型的信息,请参见Complex Type Objects (Entity Framework)

可以在实体设计器的“模型浏览器”窗口中创建和修改复杂类型。 以下过程假定您在实体设计器中打开了 .edmx 文件,并且“模型浏览器”窗口可见。

创建复杂类型

可以通过下面列出的任何方式创建复杂类型。

创建复杂类型

  1. 在模型浏览器中,右击“复杂类型”文件夹,指向**“添加”,然后单击“复杂类型”**。

    新复杂类型将添加到具有默认名称的文件夹(有关提供不同名称的信息,请参见后面的“重命名复杂类型”)。

  2. 向复杂类型添加属性。

    有关信息,请参阅后面的“向复杂类型添加属性”。

    - 或 -

  3. 在模型浏览器中,选择“复杂类型”文件夹,按键盘上的**“Insert”**键。

    新复杂类型将添加到具有默认名称的文件夹。

  4. 向复杂类型添加属性。

    - 或 -

  5. 在实体设计器图面上,选择实体的一个或多个属性(不包括导航属性),然后右击并选择**“重构为新的复杂类型”**。

    具有选定属性的新复杂类型将添加到模型浏览器。 此复杂类型会被赋予一个默认名称。

    新创建类型的复杂属性将替换选定属性。 所有属性映射都将保留。

    - 或 -

  6. 向概念模型中添加一个函数导入,并单击**“函数导入”对话框中的“创建新的复杂类型”**。 有关更多信息,请参见如何:导入存储过程(实体数据模型工具)

重命名复杂类型

重命名复杂类型时,将通过项目更新对类型的所有引用。

可以通过下面列出的任何方式重命名复杂类型。

重命名复杂类型

  • 在模型浏览器中缓慢双击复杂类型。

    名称将选定并处于编辑模式。

    - 或 -

  • 在模型浏览器中右击复杂类型,选择**“重命名”**。

    名称将选定并处于编辑模式。

    - 或 -

  • 在模型浏览器中选择复杂类型,按 F2 键。

    名称将选定并处于编辑模式。

    - 或 -

  • 在模型浏览器中右击复杂类型,选择**“属性”。 在“属性”**窗口中编辑名称。

向复杂类型添加属性

复杂类型的属性可以是标量类型或现有的复杂类型。 但是,复杂类型属性无法具有循环引用。 例如,复杂类型 ContactInfo 无法具有复杂类型 ContactInfo 的属性。

可以通过下面列出的任何方式向复杂类型添加属性。

向复杂类型添加属性

  • 在模型浏览器中右击复杂类型,指向**“添加”,再指向“标量属性”“复杂属性”**,然后选择所需的属性类型。

    新属性将添加到具有默认名称的复杂类型。

    - 或 -

  • 在实体设计器图面上右击实体属性,选择**“复制”,然后在模型浏览器中右击复杂类型,选择“粘贴”**。

    - 或 -

  • 在模型浏览器中选择复杂类型,然后按键盘上的**“Insert”**键。

    新标量属性将添加到具有默认名称的复杂类型。

删除复杂类型

删除复杂类型时,从概念模型删除类型,并且将删除该类型所有实例的映射。 但是,不更新对类型的引用。 例如,如果某实体具有类型 ComplexType1 的复杂类型属性,并且在模型浏览器中删除 ComplexType1,则不更新相应的实体属性。 模型将不验证,因为它包含引用已删除复杂类型的实体。 可以使用实体设计器更新或删除对已删除复杂类型的引用。

可以通过以下方式删除复杂类型:

删除复杂类型

  • 在模型浏览器中右击复杂类型,选择**“删除”**。

    - 或 -

  • 在模型浏览器中选择复杂类型,然后按键盘上的“Delete”键。

另请参见

任务

如何:将复杂类型属性添加到实体(实体数据模型工具)
如何:将复杂类型属性映射到表列(实体数据模型工具)
如何:将函数导入映射到复杂类型(实体数据模型工具)

其他资源

使用实体数据模型工具建模任务