当前位置: 首页>>代码示例>>C#>>正文


C# CsdlSemanticsSchema.ReplaceAlias方法代码示例

本文整理汇总了C#中CsdlSemanticsSchema.ReplaceAlias方法的典型用法代码示例。如果您正苦于以下问题:C# CsdlSemanticsSchema.ReplaceAlias方法的具体用法?C# CsdlSemanticsSchema.ReplaceAlias怎么用?C# CsdlSemanticsSchema.ReplaceAlias使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CsdlSemanticsSchema的用法示例。


在下文中一共展示了CsdlSemanticsSchema.ReplaceAlias方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddSchema

		private void AddSchema(CsdlSchema schema)
		{
			CsdlSemanticsSchema item = new CsdlSemanticsSchema(this, schema);
			this.schemata.Add(item);
			foreach (IEdmSchemaType type in item.Types)
			{
				CsdlSemanticsStructuredTypeDefinition definition = type as CsdlSemanticsStructuredTypeDefinition;
				if (definition != null)
				{
					string baseTypeName = ((CsdlNamedStructuredType) definition.Element).BaseTypeName;
					if (baseTypeName != null)
					{
						string str;
						string str2;
						EdmUtil.TryGetNamespaceNameFromQualifiedName(baseTypeName, out str, out str2);
						if (str2 != null)
						{
							List<IEdmStructuredType> list;
							if (!this.derivedTypeMappings.TryGetValue(str2, out list))
							{
								list = new List<IEdmStructuredType>();
								this.derivedTypeMappings[str2] = list;
							}
							list.Add(definition);
						}
					}
				}
				base.RegisterElement(type);
			}
			foreach (CsdlSemanticsAssociation association in item.Associations)
			{
				RegistrationHelper.AddElement<IEdmAssociation>(association, association.Namespace + "." + association.Name, this.associationDictionary, new Func<IEdmAssociation, IEdmAssociation, IEdmAssociation>(CsdlSemanticsModel.CreateAmbiguousAssociationBinding));
			}
			foreach (IEdmFunction function in item.Functions)
			{
				base.RegisterElement(function);
			}
			foreach (IEdmValueTerm term in item.ValueTerms)
			{
				base.RegisterElement(term);
			}
			foreach (IEdmEntityContainer container in item.EntityContainers)
			{
				base.RegisterElement(container);
			}
			foreach (CsdlAnnotations annotations in schema.OutOfLineAnnotations)
			{
				List<CsdlSemanticsAnnotations> list2;
				string target = annotations.Target;
				string str5 = item.ReplaceAlias(target);
				if (str5 != null)
				{
					target = str5;
				}
				if (!this.outOfLineAnnotations.TryGetValue(target, out list2))
				{
					list2 = new List<CsdlSemanticsAnnotations>();
					this.outOfLineAnnotations[target] = list2;
				}
				list2.Add(new CsdlSemanticsAnnotations(item, annotations));
			}
			foreach (CsdlUsing @using in schema.Usings)
			{
				this.SetNamespaceAlias(@using.Namespace, @using.Alias);
			}
			Version edmVersion = this.GetEdmVersion();
			if ((edmVersion == null) || (edmVersion < schema.Version))
			{
				this.SetEdmVersion(schema.Version);
			}
		}
开发者ID:nickchal,项目名称:pash,代码行数:71,代码来源:CsdlSemanticsModel.cs


注:本文中的CsdlSemanticsSchema.ReplaceAlias方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。