internal override void Invoke(CommandProcessorContext cpc)
        {
            var cmd = new CreateConceptualAssociationCommand(
                _dialog.AssociationName,
                _dialog.End1Entity,
                _dialog.End1Multiplicity,
                _dialog.End1NavigationPropertyName,
                _dialog.End2Entity,
                _dialog.End2Multiplicity,
                _dialog.End2NavigationPropertyName,
                false, // uniquify names
                _dialog.CreateForeignKeyProperties);

            CommandProcessor.InvokeSingleCommand(cpc, cmd);
            Debug.Assert(cmd.CreatedAssociation != null);
        }
        internal override void Invoke(CommandProcessorContext cpc)
        {
            var viewModel = _association.GetRootViewModel();

            Debug.Assert(viewModel != null, "Unable to find root view model from association: " + _association.Name);

            if (viewModel != null)
            {
                var s = viewModel.ModelXRef.GetExisting(_association.SourceEntityType) as EntityType;
                var t = viewModel.ModelXRef.GetExisting(_association.TargetEntityType) as EntityType;

                var source = s as ConceptualEntityType;
                var target = t as ConceptualEntityType;

                Debug.Assert(s != null ? source != null : true, "EntityType is not ConceptualEntityType");
                Debug.Assert(t != null ? target != null : true, "EntityType is not ConceptualEntityType");

                Debug.Assert(source != null && target != null);
                var modelAssociation = CreateConceptualAssociationCommand.CreateAssociationAndAssociationSetWithDefaultNames(
                    cpc, source, target);
                viewModel.ModelXRef.Add(modelAssociation, _association, viewModel.EditingContext);
            }
        }