示例#1
0
        public async Task PrepareCommand_NoArg()
        {
            var preparedCommand = new PreparedCommand(postgres, "SELECT value FROM enumerate_table WHERE value = @value;");
            var command         = preparedCommand.Clone();
            var values          = new HashSet <int>();

            using (var reader = await command.ExecuteReaderAsync())
            {
                await foreach (var row in reader.ToAsyncEnumerable())
                {
                    values.Add(row.GetInt32(0));
                }
            }

            for (int i = 0; i < 10; i++)
            {
                Assert.Contains(i, values);
            }
        }
示例#2
0
        public async Task PrepareCommand_Arg()
        {
            var singleParameters = new Dictionary <string, NpgsqlDbType>()
            {
                { "Value", NpgsqlDbType.Integer }
            };

            var preparedCommand = new PreparedCommand(postgres, "SELECT value FROM enumerate_table WHERE value = @value;", singleParameters);
            var command         = preparedCommand.Clone();
            var values          = new HashSet <int>();

            command.Parameters["value"].Value = 5;

            using (var reader = await command.ExecuteReaderAsync())
            {
                await foreach (var row in reader.ToAsyncEnumerable())
                {
                    values.Add(row.GetInt32(0));
                }
            }

            Assert.Single(values);
            Assert.Contains(values, v => v == 5);
        }