Commit 0319b51e authored by Marc Gravell's avatar Marc Gravell

Tests: add 4 attempts to repro #457

parent b466cd6a
......@@ -3150,6 +3150,123 @@ public void PseudoPositionalParameters_ExecMulti()
}
}
[Fact]
public void Issue457_NullParameterValues()
{
const string sql = @"
DECLARE @since DATETIME, @customerCode nvarchar(10)
SET @since = ? -- ODBC parameter
SET @customerCode = ? -- ODBC parameter
SELECT @since as [Since], @customerCode as [Code]";
using (var connection = ConnectViaOledb())
{
DateTime? since = null; // DateTime.Now.Date;
string code = null; // "abc";
var row = connection.QuerySingle(sql, new
{
since,
customerCode = code
});
var a = (DateTime?)row.Since;
var b = (string)row.Code;
a.IsEqualTo(since);
b.IsEqualTo(code);
}
}
[Fact]
public void Issue457_NullParameterValues_Named()
{
const string sql = @"
DECLARE @since DATETIME, @customerCode nvarchar(10)
SET @since = ?since? -- ODBC parameter
SET @customerCode = ?customerCode? -- ODBC parameter
SELECT @since as [Since], @customerCode as [Code]";
using (var connection = ConnectViaOledb())
{
DateTime? since = null; // DateTime.Now.Date;
string code = null; // "abc";
var row = connection.QuerySingle(sql, new
{
since,
customerCode = code
});
var a = (DateTime?)row.Since;
var b = (string)row.Code;
a.IsEqualTo(since);
b.IsEqualTo(code);
}
}
#if ASYNC
[Fact]
public async void Issue457_NullParameterValues_MultiAsync()
{
const string sql = @"
DECLARE @since DATETIME, @customerCode nvarchar(10)
SET @since = ? -- ODBC parameter
SET @customerCode = ? -- ODBC parameter
SELECT @since as [Since], @customerCode as [Code]";
using (var connection = ConnectViaOledb())
{
DateTime? since = null; // DateTime.Now.Date;
string code = null; // "abc";
using (var multi = await connection.QueryMultipleAsync(sql, new
{
since,
customerCode = code
}))
{
var row = await multi.ReadSingleAsync();
var a = (DateTime?)row.Since;
var b = (string)row.Code;
a.IsEqualTo(since);
b.IsEqualTo(code);
}
}
}
[Fact]
public async void Issue457_NullParameterValues_MultiAsync_Named()
{
const string sql = @"
DECLARE @since DATETIME, @customerCode nvarchar(10)
SET @since = ?since? -- ODBC parameter
SET @customerCode = ?customerCode? -- ODBC parameter
SELECT @since as [Since], @customerCode as [Code]";
using (var connection = ConnectViaOledb())
{
DateTime? since = null; // DateTime.Now.Date;
string code = null; // "abc";
using (var multi = await connection.QueryMultipleAsync(sql, new
{
since,
customerCode = code
}))
{
var row = await multi.ReadSingleAsync();
var a = (DateTime?)row.Since;
var b = (string)row.Code;
a.IsEqualTo(since);
b.IsEqualTo(code);
}
}
}
#endif
#endif
#if !COREFX
[Fact]
public void SO29596645_TvpProperty()
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment