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."); } }
/// <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; } }