示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }