/// <summary> /// We override this method to do some specialized processing of FunctionImport antiDeps /// </summary> /// <param name="cpc"></param> protected override void RemoveAntiDeps(CommandProcessorContext cpc) { var cModel = EFElement.RuntimeModelRoot() as ConceptualEntityModel; if (cModel != null) { // If there is a FunctionImport which returns a complex type, set the FunctionImport return type to null. foreach (var fi in EFElement.GetAntiDependenciesOfType <FunctionImport>()) { CommandProcessor.InvokeSingleCommand( cpc, new ChangeFunctionImportCommand( cModel.FirstEntityContainer as ConceptualEntityContainer, fi, fi.Function, fi.DisplayName, fi.IsComposable.Value, true, Resources.NoneDisplayValueUsedForUX)); } } // process the remaining antiDeps normally base.RemoveAntiDeps(cpc); }
internal static EntityDesignerSelection?DetermineEntityDesignerSelection(EFElement el) { var isConceptual = el.RuntimeModelRoot() is ConceptualEntityModel; if (el.EFTypeName == BaseEntityModel.ElementName) { if (el is ConceptualEntityModel) { return(EntityDesignerSelection.DesignerSurface); } else { return(EntityDesignerSelection.StorageModelEntityContainer); } } else if (el.EFTypeName == EntitySet.ElementName && isConceptual) { return(EntityDesignerSelection.ConceptualModelEntitySet); } else if (el.EFTypeName == AssociationSet.ElementName && isConceptual) { return(EntityDesignerSelection.ConceptualModelAssociationSet); } else if (el.EFTypeName == BaseEntityContainer.ElementName) { if (isConceptual) { return(EntityDesignerSelection.ConceptualModelEntityContainer); } else { return(EntityDesignerSelection.StorageModelEntityContainer); } } else if (el.EFTypeName == EntityType.ElementName) { if (isConceptual) { return(EntityDesignerSelection.ConceptualModelEntityType); } else { return(EntityDesignerSelection.StorageModelEntityType); } } else if (el.EFTypeName == Property.ElementName) { if (isConceptual) { if (el is ComplexConceptualProperty) { return(EntityDesignerSelection.ConceptualModelComplexProperty); } else { return(EntityDesignerSelection.ConceptualModelProperty); } } else { return(EntityDesignerSelection.StorageModelProperty); } } else if (el.EFTypeName == NavigationProperty.ElementName) { return(EntityDesignerSelection.ConceptualModelNavigationProperty); } else if (el.EFTypeName == Association.ElementName) { if (isConceptual) { return(EntityDesignerSelection.ConceptualModelAssociation); } else { return(EntityDesignerSelection.StorageModelAssociation); } } else if (el.EFTypeName == ComplexType.ElementName && isConceptual) { return(EntityDesignerSelection.ConceptualModelComplexType); } else if (el.EFTypeName == FunctionImport.ElementName) { return(EntityDesignerSelection.ConceptualModelFunctionImport); } else if (el.EFTypeName == Parameter.ElementName) { if (isConceptual) { return(EntityDesignerSelection.ConceptualModelFunctionImportParameter); } else { return(EntityDesignerSelection.StorageModelFunctionParameter); } } else if (el.EFTypeName == Function.ElementName) { return(EntityDesignerSelection.StorageModelFunction); } else if (el.EFTypeName == EntityTypeShape.ElementName) { return(EntityDesignerSelection.ConceptualModelEntityType); } return(null); }