public void Replace_IgnoresExpressionsWithoutCaret() { SqlConnections.SetConnection("Dummy1", "Data Source=server1; Initial Catalog=catalog1", "System.Data.SqlClient"); var result = DatabaseCaretReferences.Replace("[abc].[dbo].[Table]"); Assert.Equal("[abc].[dbo].[Table]", result); }
public void Replace_IgnoresIfNoConnectionIsSpecified() { SqlConnections.SetConnection("Dummy1", "Data Source=server1; Initial Catalog=catalog1", "System.Data.SqlClient"); var result = DatabaseCaretReferences.Replace("[^].[dbo].[Table]"); Assert.Equal("[^].[dbo].[Table]", result); }
public void Replace_UsesAlternateDatabaseNameIfSpecifiedAndConnectionNotFound() { SqlConnections.SetConnection("Nevermind", "Data Source=server1; Initial Catalog=catalog1", "System.Data.SqlClient"); var result = DatabaseCaretReferences.Replace("[InvalidConnectionKey^AlternateDB].[dbo].[Table]"); Assert.Equal("[AlternateDB].[dbo].[Table]", result); }
public void Replace_HandlesComplexExpressions() { SqlConnections.SetConnection("MyDB", "Data Source=server1; Initial Catalog=MyMy", "System.Data.SqlClient"); var result = DatabaseCaretReferences.Replace( "SELECT A, B, C FROM [MyDB^X].dbo.[Table] WHERE x > '[MyDB^X]'"); Assert.Equal("SELECT A, B, C FROM [MyMy].dbo.[Table] WHERE x > '[MyDB^X]'", result); }
private void AddCommandWithParameters(string commandText, IDictionary <string, object> parameters) { string statementText; using (var command = new SqlCommand()) { command.CommandText = DatabaseCaretReferences.Replace(commandText); if (parameters != null) { foreach (var p in parameters) { SqlHelper.AddParamWithValue(command, p.Key, p.Value); } } statementText = SqlCommandDumper.GetCommandText(command); } AddScript(statementText); }