public void VisitEntityContainerElements(IEnumerable <IEdmEntityContainerElement> elements) { foreach (IEdmEntityContainerElement element in elements) { EdmContainerElementKind containerElementKind = element.ContainerElementKind; switch (containerElementKind) { case EdmContainerElementKind.None: { this.ProcessEntityContainerElement(element); continue; } case EdmContainerElementKind.EntitySet: { this.ProcessEntitySet((IEdmEntitySet)element); continue; } case EdmContainerElementKind.FunctionImport: { this.ProcessFunctionImport((IEdmFunctionImport)element); continue; } } throw new InvalidOperationException(Strings.UnknownEnumVal_ContainerElementKind(element.ContainerElementKind.ToString())); } }
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 IEnumerable <T> ContainerElementsByKind <T>(IEdmEntityContainer entityContainer, EdmContainerElementKind kind) where T : class { return(entityContainer .Elements .Where(element => element is T) .Select(element => element as T)); }