Beispiel #1
0
        public void ReturnCorrectValueFromSelectRowStoredProcedure()
        {
            using (SqlServerTestHelper helper = CreateHelper(CreateProcedure_RowResultWithMultipleValues))
            {
                var parameters = new CommandParameterCollection
                {
                    { "@Id", 1 },
                    { "@Number", 10 },
                    { "@Description", "Lorem ipsum" }
                };

                QueryProvider provider = CreateQueryProvider(helper.Connection);
                TestItem      result   = provider.ExecuteStoredProcedure <TestItem>(Procedure_RowResultWithMultipleValues, parameters);

                result.Should().Be(new TestItem(1, 10, "Lorem ipsum"));
            }
        }
        public void ReturnCorrectValueFromStoredProcedure()
        {
            using (SqlServerTestHelper helper = CreateHelper(CreateProcedure_ScalarResult))
            {
                const int param1   = 11;
                const int param2   = 22;
                const int expected = 33;

                var parameters = new CommandParameterCollection
                {
                    { "@Param1", param1 },
                    { "@Param2", param2 }
                };

                QueryProvider provider = CreateQueryProvider(helper.Connection);
                int           result   = provider.ExecuteStoredProcedure <int>(Procedure_ScalarResult, parameters);

                result.Should().Be(expected);
            }
        }
        public void ReturnCorrectValueFromStoredProcedureUsingOutputParameter()
        {
            using (SqlServerTestHelper helper = CreateHelper(CreateProcedure_OutputParameter))
            {
                const int inputParamValue       = 10;
                const int inputOutputParamValue = 100;

                var parameters = new CommandParameterCollection
                {
                    { "@InputParam", inputParamValue },
                    { "@InputOutputParam", inputOutputParamValue, DbType.Int32, ParameterDirection.InputOutput },
                    { "@OutputParam", 0, DbType.Int32, ParameterDirection.Output }
                };

                QueryProvider provider = CreateQueryProvider(helper.Connection);
                int           result   = provider.ExecuteStoredProcedure <int>(Procedure_OutputParameter, parameters);

                parameters["@OutputParam"].Value.Should().Be(inputParamValue * 2);
                parameters["@InputOutputParam"].Value.Should().Be(inputOutputParamValue * 2);
            }
        }