internal static string DropDatabaseScript(string databaseName, StoreItemCollection itemCollection)
        {
            EFOracleDdlBuilder oracleDdlBuilder = new EFOracleDdlBuilder();

            foreach (EntityContainer entityContainer in itemCollection.GetItems <EntityContainer>())
            {
                entityContainer.BaseEntitySets.OfType <EntitySet>().OrderBy <EntitySet, string>((Func <EntitySet, string>)(s => s.Name));
                foreach (EntitySet entitySet in (IEnumerable <EntitySet>)entityContainer.BaseEntitySets.OfType <EntitySet>().OrderBy <EntitySet, string>((Func <EntitySet, string>)(s => s.Name)))
                {
                    oracleDdlBuilder.AppendSql("drop table ");
                    oracleDdlBuilder.AppendIdentifier(entitySet);
                    oracleDdlBuilder.AppendSql(" cascade constraints \n\n");
                    oracleDdlBuilder.AppendSql("drop sequence ");
                    oracleDdlBuilder.AppendIdentifier(EFOracleDdlBuilder.GetSchemaName(entitySet));
                    oracleDdlBuilder.AppendSql(".");
                    string str = OracleMigrationSqlGenerator.SequencePrefix + OracleMigrationSqlGenerator.NameSeparator + EFOracleDdlBuilder.GetTableName(entitySet);
                    if (Encoding.UTF8.GetByteCount(str) > OracleMigrationSqlGenerator.MaxIdentifierLengthBytes)
                    {
                        str = OracleMigrationSqlGenerator.DeriveObjectName((string)null, str, 30);
                    }
                    oracleDdlBuilder.AppendIdentifier(str);
                    oracleDdlBuilder.AppendSql("\n\n");
                }
            }
            oracleDdlBuilder.AppendSql("drop table ");
            oracleDdlBuilder.AppendIdentifier("__MigrationHistory");
            oracleDdlBuilder.AppendSql(" cascade constraints \n\n");
            oracleDdlBuilder.AppendSql("drop table ");
            oracleDdlBuilder.AppendIdentifier("EdmMetadata");
            oracleDdlBuilder.AppendSql(" cascade constraints \n\n");
            return(oracleDdlBuilder.stringBuilder.ToString());
        }
        internal static string CreateTableExistsScript(StoreItemCollection itemCollection, out int count)
        {
            int num = 0;
            EFOracleDdlBuilder oracleDdlBuilder = new EFOracleDdlBuilder();

            oracleDdlBuilder.AppendSql("select count(*) from ");
            oracleDdlBuilder.AppendSql("all_tables");
            oracleDdlBuilder.AppendSql(" where ");
            foreach (EntityContainer entityContainer in itemCollection.GetItems <EntityContainer>())
            {
                entityContainer.BaseEntitySets.OfType <EntitySet>().OrderBy <EntitySet, string>((Func <EntitySet, string>)(s => s.Name));
                foreach (EntitySet entitySet in (IEnumerable <EntitySet>)entityContainer.BaseEntitySets.OfType <EntitySet>().OrderBy <EntitySet, string>((Func <EntitySet, string>)(s => s.Name)))
                {
                    string schemaName = EFOracleDdlBuilder.GetSchemaName(entitySet);
                    ++num;
                    if (num > 1)
                    {
                        oracleDdlBuilder.AppendSql(" or ");
                    }
                    oracleDdlBuilder.AppendSql("(");
                    oracleDdlBuilder.AppendSql("owner=");
                    if (entitySet.Name != "HistoryRow" || entitySet.Name == "HistoryRow" && schemaName != "dbo")
                    {
                        oracleDdlBuilder.AppendSql("'");
                        oracleDdlBuilder.AppendSql(schemaName);
                        oracleDdlBuilder.AppendSql("'");
                    }
                    else
                    {
                        oracleDdlBuilder.AppendSql("user");
                    }
                    oracleDdlBuilder.AppendSql(" and ");
                    oracleDdlBuilder.AppendSql("table_name=");
                    oracleDdlBuilder.AppendSql("'");
                    oracleDdlBuilder.AppendSql(EFOracleDdlBuilder.GetTableName(entitySet));
                    oracleDdlBuilder.AppendSql("'");
                    oracleDdlBuilder.AppendSql(")");
                }
            }
            count = num;
            return(oracleDdlBuilder.GetCommandText());
        }