private Dictionary <IEdmAssociation, IEnumerable <CsdlSemanticsAssociationSet> > ComputeAssociationSetMappings() { Dictionary <IEdmAssociation, IEnumerable <CsdlSemanticsAssociationSet> > associationSetMappings = new Dictionary <IEdmAssociation, IEnumerable <CsdlSemanticsAssociationSet> >(); if (this.entityContainer.Extends != null) { // Extends is either a CsdlSemanticsEntityContainer or BadEntityContainer. CsdlSemanticsEntityContainer csdlExtends = this.Extends as CsdlSemanticsEntityContainer; if (csdlExtends != null) { foreach (KeyValuePair <IEdmAssociation, IEnumerable <CsdlSemanticsAssociationSet> > mapping in csdlExtends.AssociationSetMappings) { associationSetMappings[mapping.Key] = new List <CsdlSemanticsAssociationSet>(mapping.Value); } } } foreach (CsdlSemanticsAssociationSet associationSet in this.AssociationSets) { CsdlSemanticsAssociation association = associationSet.Association as CsdlSemanticsAssociation; if (association != null) { IEnumerable <CsdlSemanticsAssociationSet> associationSets; if (!associationSetMappings.TryGetValue(association, out associationSets)) { associationSets = new List <CsdlSemanticsAssociationSet>(); associationSetMappings[association] = associationSets; } ((List <CsdlSemanticsAssociationSet>)associationSets).Add(associationSet); } } return(associationSetMappings); }
private IEnumerable <IEdmEntityContainerElement> ComputeElements() { List <IEdmEntityContainerElement> edmEntityContainerElements = new List <IEdmEntityContainerElement>(); CsdlSemanticsEntityContainer extends = this.Extends as CsdlSemanticsEntityContainer; if (extends != null) { foreach (CsdlEntitySet entitySet in extends.entityContainer.EntitySets) { CsdlSemanticsEntitySet csdlSemanticsEntitySet = new CsdlSemanticsEntitySet(this, entitySet); edmEntityContainerElements.Add(csdlSemanticsEntitySet); } foreach (CsdlFunctionImport functionImport in extends.entityContainer.FunctionImports) { CsdlSemanticsFunctionImport csdlSemanticsFunctionImport = new CsdlSemanticsFunctionImport(this, functionImport); edmEntityContainerElements.Add(csdlSemanticsFunctionImport); } } foreach (CsdlEntitySet csdlEntitySet in this.entityContainer.EntitySets) { CsdlSemanticsEntitySet csdlSemanticsEntitySet1 = new CsdlSemanticsEntitySet(this, csdlEntitySet); edmEntityContainerElements.Add(csdlSemanticsEntitySet1); } foreach (CsdlFunctionImport csdlFunctionImport in this.entityContainer.FunctionImports) { CsdlSemanticsFunctionImport csdlSemanticsFunctionImport1 = new CsdlSemanticsFunctionImport(this, csdlFunctionImport); edmEntityContainerElements.Add(csdlSemanticsFunctionImport1); } return(edmEntityContainerElements); }
public CsdlSemanticsEntitySet(CsdlSemanticsEntityContainer container, CsdlEntitySet entitySet) : base(entitySet) { this.elementTypeCache = new Cache <CsdlSemanticsEntitySet, IEdmEntityType>(); this.navigationTargetsCache = new Cache <CsdlSemanticsEntitySet, IEnumerable <IEdmNavigationTargetMapping> >(); this.container = container; this.entitySet = entitySet; }
private Dictionary <IEdmAssociation, IEnumerable <CsdlSemanticsAssociationSet> > ComputeAssociationSetMappings() { IEnumerable <CsdlSemanticsAssociationSet> csdlSemanticsAssociationSets = null; Dictionary <IEdmAssociation, IEnumerable <CsdlSemanticsAssociationSet> > edmAssociations = new Dictionary <IEdmAssociation, IEnumerable <CsdlSemanticsAssociationSet> >(); if (this.entityContainer.Extends != null) { CsdlSemanticsEntityContainer extends = this.Extends as CsdlSemanticsEntityContainer; if (extends != null) { foreach (KeyValuePair <IEdmAssociation, IEnumerable <CsdlSemanticsAssociationSet> > associationSetMapping in extends.AssociationSetMappings) { edmAssociations[associationSetMapping.Key] = new List <CsdlSemanticsAssociationSet>(associationSetMapping.Value); } } } foreach (CsdlSemanticsAssociationSet associationSet in this.AssociationSets) { CsdlSemanticsAssociation association = associationSet.Association as CsdlSemanticsAssociation; if (association == null) { continue; } if (!edmAssociations.TryGetValue(association, out csdlSemanticsAssociationSets)) { csdlSemanticsAssociationSets = new List <CsdlSemanticsAssociationSet>(); edmAssociations[association] = csdlSemanticsAssociationSets; } ((List <CsdlSemanticsAssociationSet>)csdlSemanticsAssociationSets).Add(associationSet); } return(edmAssociations); }
private IEnumerable <CsdlSemanticsAssociationSet> ComputeAssociationSets() { List <CsdlSemanticsAssociationSet> associationSets = new List <CsdlSemanticsAssociationSet>(); if (this.entityContainer.Extends != null) { // Extends is either a CsdlSemanticsEntityContainer or BadEntityContainer. CsdlSemanticsEntityContainer csdlExtends = this.Extends as CsdlSemanticsEntityContainer; if (csdlExtends != null) { foreach (CsdlAssociationSet associationSet in csdlExtends.entityContainer.AssociationSets) { CsdlSemanticsAssociationSet semanticsSet = new CsdlSemanticsAssociationSet(this, associationSet); associationSets.Add(semanticsSet); } } } foreach (CsdlAssociationSet associationSet in this.entityContainer.AssociationSets) { CsdlSemanticsAssociationSet semanticsSet = new CsdlSemanticsAssociationSet(this, associationSet); associationSets.Add(semanticsSet); } return(associationSets); }
public IEdmEntitySet FindNavigationTarget(IEdmNavigationProperty property) { IEdmEntitySet entitySet; CsdlSemanticsNavigationProperty csdlSemanticsNavigationProperty = property as CsdlSemanticsNavigationProperty; if (csdlSemanticsNavigationProperty != null) { IEnumerator <IEdmEntityContainer> enumerator = this.Model.EntityContainers().GetEnumerator(); using (enumerator) { while (enumerator.MoveNext()) { CsdlSemanticsEntityContainer current = (CsdlSemanticsEntityContainer)enumerator.Current; IEnumerable <CsdlSemanticsAssociationSet> csdlSemanticsAssociationSets = current.FindAssociationSets(csdlSemanticsNavigationProperty.Association); if (csdlSemanticsAssociationSets == null) { continue; } IEnumerator <CsdlSemanticsAssociationSet> enumerator1 = csdlSemanticsAssociationSets.GetEnumerator(); using (enumerator1) { while (enumerator1.MoveNext()) { CsdlSemanticsAssociationSet csdlSemanticsAssociationSet = enumerator1.Current; CsdlSemanticsAssociationSetEnd end1 = csdlSemanticsAssociationSet.End1 as CsdlSemanticsAssociationSetEnd; CsdlSemanticsAssociationSetEnd end2 = csdlSemanticsAssociationSet.End2 as CsdlSemanticsAssociationSetEnd; if (csdlSemanticsAssociationSet.End1.EntitySet != this || csdlSemanticsNavigationProperty.To != csdlSemanticsAssociationSet.End2.Role) { if (csdlSemanticsAssociationSet.End2.EntitySet != this || csdlSemanticsNavigationProperty.To != csdlSemanticsAssociationSet.End1.Role) { continue; } this.Model.SetAssociationSetName(csdlSemanticsAssociationSet.End2.EntitySet, property, csdlSemanticsAssociationSet.Name); if (end1 != null && end2 != null) { this.Model.SetAssociationSetAnnotations(end2.EntitySet, property, csdlSemanticsAssociationSet.DirectValueAnnotations, end2.DirectValueAnnotations, end1.DirectValueAnnotations); } entitySet = csdlSemanticsAssociationSet.End1.EntitySet; return(entitySet); } else { this.Model.SetAssociationSetName(csdlSemanticsAssociationSet.End1.EntitySet, property, csdlSemanticsAssociationSet.Name); if (end1 != null && end2 != null) { this.Model.SetAssociationSetAnnotations(end1.EntitySet, property, csdlSemanticsAssociationSet.DirectValueAnnotations, end1.DirectValueAnnotations, end2.DirectValueAnnotations); } entitySet = csdlSemanticsAssociationSet.End2.EntitySet; return(entitySet); } } } } return(null); } return(entitySet); } return(null); }
public CsdlSemanticsAssociationSet(CsdlSemanticsEntityContainer context, CsdlAssociationSet associationSet) : base(associationSet) { this.endsCache = new Cache <CsdlSemanticsAssociationSet, TupleInternal <CsdlSemanticsAssociationSetEnd, CsdlSemanticsAssociationSetEnd> >(); this.elementTypeCache = new Cache <CsdlSemanticsAssociationSet, IEdmAssociation>(); this.errorsCache = new Cache <CsdlSemanticsAssociationSet, IEnumerable <EdmError> >(); this.context = context; this.associationSet = associationSet; }
private IEdmEntityContainer ComputeExtends() { if (this.entityContainer.Extends != null) { CsdlSemanticsEntityContainer csdlContainer = this.Model.FindDeclaredEntityContainer(this.entityContainer.Extends) as CsdlSemanticsEntityContainer; if (csdlContainer != null) { IEdmEntityContainer junk = csdlContainer.Extends; // Evaluate the inductive step to detect cycles. return(csdlContainer); } return(new UnresolvedEntityContainer(this.entityContainer.Extends, this.Location)); } return(null); }
private IEnumerable <CsdlSemanticsAssociationSet> ComputeAssociationSets() { List <CsdlSemanticsAssociationSet> csdlSemanticsAssociationSets = new List <CsdlSemanticsAssociationSet>(); if (this.entityContainer.Extends != null) { CsdlSemanticsEntityContainer extends = this.Extends as CsdlSemanticsEntityContainer; if (extends != null) { foreach (CsdlAssociationSet associationSet in extends.entityContainer.AssociationSets) { CsdlSemanticsAssociationSet csdlSemanticsAssociationSet = new CsdlSemanticsAssociationSet(this, associationSet); csdlSemanticsAssociationSets.Add(csdlSemanticsAssociationSet); } } } foreach (CsdlAssociationSet csdlAssociationSet in this.entityContainer.AssociationSets) { CsdlSemanticsAssociationSet csdlSemanticsAssociationSet1 = new CsdlSemanticsAssociationSet(this, csdlAssociationSet); csdlSemanticsAssociationSets.Add(csdlSemanticsAssociationSet1); } return(csdlSemanticsAssociationSets); }
private IEdmEntityContainer ComputeExtends() { if (this.entityContainer.Extends == null) { return(null); } else { CsdlSemanticsEntityContainer csdlSemanticsEntityContainer = this.Model.FindDeclaredEntityContainer(this.entityContainer.Extends) as CsdlSemanticsEntityContainer; if (csdlSemanticsEntityContainer == null) { return(new UnresolvedEntityContainer(this.entityContainer.Extends, base.Location)); } else { var extends = csdlSemanticsEntityContainer.Extends; if (extends != null) { } return(csdlSemanticsEntityContainer); } } }
private IEnumerable <IEdmEntityContainerElement> ComputeElements() { List <IEdmEntityContainerElement> elements = new List <IEdmEntityContainerElement>(); // Extends is either a CsdlSemanticsEntityContainer or BadEntityContainer. CsdlSemanticsEntityContainer csdlEntityContainer = this.Extends as CsdlSemanticsEntityContainer; if (csdlEntityContainer != null) { foreach (CsdlEntitySet entitySet in csdlEntityContainer.entityContainer.EntitySets) { CsdlSemanticsEntitySet semanticsSet = new CsdlSemanticsEntitySet(this, entitySet); elements.Add(semanticsSet); } foreach (CsdlFunctionImport functionImport in csdlEntityContainer.entityContainer.FunctionImports) { CsdlSemanticsFunctionImport semanticsFunction = new CsdlSemanticsFunctionImport(this, functionImport); elements.Add(semanticsFunction); } } foreach (CsdlEntitySet entitySet in this.entityContainer.EntitySets) { CsdlSemanticsEntitySet semanticsSet = new CsdlSemanticsEntitySet(this, entitySet); elements.Add(semanticsSet); } foreach (CsdlFunctionImport functionImport in this.entityContainer.FunctionImports) { CsdlSemanticsFunctionImport semanticsFunction = new CsdlSemanticsFunctionImport(this, functionImport); elements.Add(semanticsFunction); } return(elements); }
public CsdlSemanticsFunctionImport(CsdlSemanticsEntityContainer container, CsdlFunctionImport functionImport) : base(container.Context, functionImport) { this.entitySetCache = new Cache<CsdlSemanticsFunctionImport, IEdmExpression>(); this.container = container; this.functionImport = functionImport; }
public CsdlSemanticsEntitySet(CsdlSemanticsEntityContainer container, CsdlEntitySet entitySet) : base(entitySet) { this.container = container; this.entitySet = entitySet; }
public CsdlSemanticsAssociationSet(CsdlSemanticsEntityContainer context, CsdlAssociationSet associationSet) : base(associationSet) { this.context = context; this.associationSet = associationSet; }
public CsdlSemanticsEntitySet(CsdlSemanticsEntityContainer container, CsdlEntitySet entitySet) : base(entitySet) { this.elementTypeCache = new Cache<CsdlSemanticsEntitySet, IEdmEntityType>(); this.navigationTargetsCache = new Cache<CsdlSemanticsEntitySet, IEnumerable<IEdmNavigationTargetMapping>>(); this.container = container; this.entitySet = entitySet; }
public CsdlSemanticsAssociationSet(CsdlSemanticsEntityContainer context, CsdlAssociationSet associationSet) : base(associationSet) { this.endsCache = new Cache<CsdlSemanticsAssociationSet, TupleInternal<CsdlSemanticsAssociationSetEnd, CsdlSemanticsAssociationSetEnd>>(); this.elementTypeCache = new Cache<CsdlSemanticsAssociationSet, IEdmAssociation>(); this.errorsCache = new Cache<CsdlSemanticsAssociationSet, IEnumerable<EdmError>>(); this.context = context; this.associationSet = associationSet; }
public CsdlSemanticsFunctionImport(CsdlSemanticsEntityContainer container, CsdlFunctionImport functionImport) : base(container.Context, functionImport) { this.container = container; this.functionImport = functionImport; }
public CsdlSemanticsFunctionImport(CsdlSemanticsEntityContainer container, CsdlFunctionImport functionImport) : base(container.Context, functionImport) { this.entitySetCache = new Cache <CsdlSemanticsFunctionImport, IEdmExpression>(); this.container = container; this.functionImport = functionImport; }