本文整理汇总了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);
}
}