public void AddElement(IEdmEntityContainerElement element) { EdmUtil.CheckArgumentNull <IEdmEntityContainerElement>(element, "element"); this.containerElements.Add(element); EdmContainerElementKind containerElementKind = element.ContainerElementKind; switch (containerElementKind) { case EdmContainerElementKind.None: { throw new InvalidOperationException(Strings.EdmEntityContainer_CannotUseElementWithTypeNone); } case EdmContainerElementKind.EntitySet: { RegistrationHelper.AddElement <IEdmEntitySet>((IEdmEntitySet)element, element.Name, this.entitySetDictionary, new Func <IEdmEntitySet, IEdmEntitySet, IEdmEntitySet>(RegistrationHelper.CreateAmbiguousEntitySetBinding)); return; } case EdmContainerElementKind.FunctionImport: { RegistrationHelper.AddFunction <IEdmFunctionImport>((IEdmFunctionImport)element, element.Name, this.functionImportDictionary); return; } } throw new InvalidOperationException(Strings.UnknownEnumVal_ContainerElementKind(element.ContainerElementKind)); }
private Dictionary <string, object> ComputeFunctionImportsDictionary() { Dictionary <string, object> strs = new Dictionary <string, object>(); foreach (IEdmFunctionImport edmFunctionImport in this.Elements.OfType <IEdmFunctionImport>()) { RegistrationHelper.AddFunction <IEdmFunctionImport>(edmFunctionImport, edmFunctionImport.Name, strs); } return(strs); }
/// <summary> /// Adds an entity container element to this entity container. /// </summary> /// <param name="element">The element to add.</param> public void AddElement(IEdmEntityContainerElement element) { EdmUtil.CheckArgumentNull(element, "element"); this.containerElements.Add(element); switch (element.ContainerElementKind) { case EdmContainerElementKind.EntitySet: RegistrationHelper.AddElement((IEdmEntitySet)element, element.Name, this.entitySetDictionary, RegistrationHelper.CreateAmbiguousEntitySetBinding); break; case EdmContainerElementKind.FunctionImport: RegistrationHelper.AddFunction((IEdmFunctionImport)element, element.Name, this.functionImportDictionary); break; case EdmContainerElementKind.None: throw new InvalidOperationException(Edm.Strings.EdmEntityContainer_CannotUseElementWithTypeNone); default: throw new InvalidOperationException(Edm.Strings.UnknownEnumVal_ContainerElementKind(element.ContainerElementKind)); } }