public static async Task ExecuteSqlAsync(SqlScriptReader sqlReader, string connectionString) { using (var connection = new SqlConnection(connectionString)) { connection.Open(); while (sqlReader.ReadScript()) { var script = sqlReader.Script; using (var command = new SqlCommand()) { command.Connection = connection; command.CommandText = script; command.CommandType = CommandType.Text; await command.ExecuteNonQueryAsync(CancellationToken.None); } } } }
public static async Task ExecuteFromText(string text, string connectionString) { using (var reader = new StringReader(text)) using (var sqlReader = new SqlScriptReader(reader)) await ExecuteSqlAsync(sqlReader, connectionString); }
public static async Task ExecuteFromFile(string path, string connectionString) { using (var reader = new StreamReader(path)) using (var sqlReader = new SqlScriptReader(reader)) await ExecuteSqlAsync(sqlReader, connectionString); }