如何:创建和修改复杂类型(实体数据模型工具)
本主题描述如何使用 ADO.NET 实体数据模型设计器(实体设计器)创建和修改复杂类型。 有关使用复杂类型的信息,请参见Complex Type Objects (Entity Framework)。
可以在实体设计器的“模型浏览器”窗口中创建和修改复杂类型。 以下过程假定您在实体设计器中打开了 .edmx 文件,并且“模型浏览器”窗口可见。
创建复杂类型
可以通过下面列出的任何方式创建复杂类型。
创建复杂类型
在模型浏览器中,右击“复杂类型”文件夹,指向**“添加”,然后单击“复杂类型”**。
新复杂类型将添加到具有默认名称的文件夹(有关提供不同名称的信息,请参见后面的“重命名复杂类型”)。
向复杂类型添加属性。
有关信息,请参阅后面的“向复杂类型添加属性”。
- 或 -
在模型浏览器中,选择“复杂类型”文件夹,按键盘上的**“Insert”**键。
新复杂类型将添加到具有默认名称的文件夹。
向复杂类型添加属性。
- 或 -
在实体设计器图面上,选择实体的一个或多个属性(不包括导航属性),然后右击并选择**“重构为新的复杂类型”**。
具有选定属性的新复杂类型将添加到模型浏览器。 此复杂类型会被赋予一个默认名称。
新创建类型的复杂属性将替换选定属性。 所有属性映射都将保留。
- 或 -
向概念模型中添加一个函数导入,并单击**“函数导入”对话框中的“创建新的复杂类型”**。 有关更多信息,请参见如何:导入存储过程(实体数据模型工具)。
重命名复杂类型
重命名复杂类型时,将通过项目更新对类型的所有引用。
可以通过下面列出的任何方式重命名复杂类型。
重命名复杂类型
在模型浏览器中缓慢双击复杂类型。
名称将选定并处于编辑模式。
- 或 -
在模型浏览器中右击复杂类型,选择**“重命名”**。
名称将选定并处于编辑模式。
- 或 -
在模型浏览器中选择复杂类型,按 F2 键。
名称将选定并处于编辑模式。
- 或 -
在模型浏览器中右击复杂类型,选择**“属性”。 在“属性”**窗口中编辑名称。
向复杂类型添加属性
复杂类型的属性可以是标量类型或现有的复杂类型。 但是,复杂类型属性无法具有循环引用。 例如,复杂类型 ContactInfo 无法具有复杂类型 ContactInfo 的属性。
可以通过下面列出的任何方式向复杂类型添加属性。
向复杂类型添加属性
在模型浏览器中右击复杂类型,指向**“添加”,再指向“标量属性”或“复杂属性”**,然后选择所需的属性类型。
新属性将添加到具有默认名称的复杂类型。
- 或 -
在实体设计器图面上右击实体属性,选择**“复制”,然后在模型浏览器中右击复杂类型,选择“粘贴”**。
- 或 -
在模型浏览器中选择复杂类型,然后按键盘上的**“Insert”**键。
新标量属性将添加到具有默认名称的复杂类型。
删除复杂类型
删除复杂类型时,从概念模型删除类型,并且将删除该类型所有实例的映射。 但是,不更新对类型的引用。 例如,如果某实体具有类型 ComplexType1 的复杂类型属性,并且在模型浏览器中删除 ComplexType1,则不更新相应的实体属性。 模型将不验证,因为它包含引用已删除复杂类型的实体。 可以使用实体设计器更新或删除对已删除复杂类型的引用。
可以通过以下方式删除复杂类型:
删除复杂类型
在模型浏览器中右击复杂类型,选择**“删除”**。
- 或 -
在模型浏览器中选择复杂类型,然后按键盘上的“Delete”键。
另请参见
任务
如何:将复杂类型属性添加到实体(实体数据模型工具)
如何:将复杂类型属性映射到表列(实体数据模型工具)
如何:将函数导入映射到复杂类型(实体数据模型工具)