コード例 #1
0
ファイル: Program.cs プロジェクト: NikhilVirani/DotnetCore.DB
        static void Main(string[] args)
        {
            string ConnectionString       = @"--Your DB Connection String--";
            string ContextBasePath        = @"--Directory of where context file creation--";
            string ContextClassName       = "--Context Class name--";
            string NamespaceOfContextFile = "--Namespace Of Context Class--";
            string ContextFilePath        = Path.Combine(ContextBasePath, ContextClassName + ".cs");

            SPInformation storedProcedure = new SPInformation(ConnectionString);
            var           list            = storedProcedure.GetSPList().ToList();

            if (list.Count > 0)
            {
                GenerateContextFile.Create(
                    ContextBasePath,
                    ContextFilePath,
                    NamespaceOfContextFile,
                    ContextClassName);

                int i = 0;
                foreach (var item in list)
                {
                    Console.WriteLine(item.name + "- Start");
                    GenerateFunctions.Methods(ConnectionString, ContextBasePath, ContextFilePath, NamespaceOfContextFile, item.name);
                    Console.WriteLine(item.name + "- End");
                    Console.WriteLine("--------------------------------------------------" + i++);
                }
            }
            else
            {
                Console.WriteLine("Your database has not any stored procedure.");
            }
        }
コード例 #2
0
ファイル: Generate.cs プロジェクト: cmontana88/OpenDBDiff
        /// <summary>
        /// Genera el schema de la base de datos seleccionada y devuelve un objeto Database.
        /// </summary>
        public Database Process(SqlOption filters)
        {
            string error = "";

            try
            {
                Database databaseSchema = new Database();

                //tables.OnTableProgress += new Progress.ProgressHandler(tables_OnTableProgress);
                databaseSchema.Options = filters;
                databaseSchema.Name    = this.Name;
                databaseSchema.Info    = (new GenerateDatabase(connectionString, filters)).Get(databaseSchema);
                Thread t1 = new Thread(delegate()
                {
                    try
                    {
                        GenerateRules.Fill(databaseSchema, connectionString);
                        GenerateTables.Fill(databaseSchema, connectionString, messages);
                        GenerateUserDataTypes.Fill(databaseSchema, connectionString, messages);
                        GenerateXMLSchemas.Fill(databaseSchema, connectionString);
                        GenerateSchemas.Fill(databaseSchema, connectionString);
                        GenerateUsers.Fill(databaseSchema, connectionString);
                    }
                    catch (Exception ex)
                    {
                        error = ex.StackTrace;
                    }
                });
                Thread t2 = new Thread(delegate()
                {
                    try
                    {
                        GeneratePartionFunctions.Fill(databaseSchema, connectionString);
                        GenerateFileGroups.Fill(databaseSchema, connectionString);
                        GenerateDDLTriggers.Fill(databaseSchema, connectionString);
                        GenerateSynonyms.Fill(databaseSchema, connectionString);
                        GenerateAssemblies.Fill(databaseSchema, connectionString);
                    }
                    catch (Exception ex)
                    {
                        error = ex.StackTrace;
                    }
                });
                Thread t3 = new Thread(delegate()
                {
                    try
                    {
                        GenerateStoreProcedures.Fill(databaseSchema, connectionString);
                        GenerateViews.Fill(databaseSchema, connectionString);
                        GenerateFunctions.Fill(databaseSchema, connectionString);
                    }
                    catch (Exception ex)
                    {
                        error = ex.StackTrace;
                    }
                });
                t1.Start();
                t2.Start();
                t3.Start();
                t1.Join();
                t2.Join();
                t3.Join();
                if (String.IsNullOrEmpty(error))
                {
                    /*Las propiedades extendidas deben ir despues de haber capturado el resto de los objetos de la base*/
                    GenerateExtendedProperties.Fill(databaseSchema, connectionString, messages);
                    databaseSchema.BuildDependency();
                    return(databaseSchema);
                }
                else
                {
                    throw new SchemaException(error);
                }
            }
            catch
            {
                throw;
            }
        }