varquery=connection.QueryAsync<string>(newCommandDefinition("select 'abc' as [Value] union all select @txt",new{txt="def"},flags:CommandFlags.None));
vararr=query.Result.ToArray();
varquery=awaitconnection.QueryAsync<string>(newCommandDefinition("select 'abc' as [Value] union all select @txt",new{txt="def"},flags:CommandFlags.None));
NoDefaultConstructorWithEnumnodef=connection.Query<NoDefaultConstructorWithEnum>("select cast(2 as smallint) E1, cast(5 as smallint) n1, cast(null as smallint) n2").First();
varparents=connection.Query<Parent,Child,Parent>(@"select 1 as [Id], 1 as [Id] union all select 1,2 union all select 2,3 union all select 1,4 union all select 3,5",
NoDefaultConstructorWithEnumnodef=connection.Query<NoDefaultConstructorWithEnum>("select cast(2 as smallint) E1, cast(5 as smallint) n1, cast(null as smallint) n2").First();
@@ -365,27 +160,34 @@ public void TestStructAsParam()
car2.Trap.IsEqualTo(car1.Trap);
}
[Fact]
publicvoidSelectListInt()
{
connection.Query<int>("select 1 union all select 2 union all select 3")
.IsSequenceEqualTo(new[]{1,2,3});
}
[Fact]
publicvoidSelectBinary()
{
connection.Query<byte[]>("select cast(1 as varbinary(4))").First().SequenceEqual(newbyte[]{1});
}
[Fact]
publicvoidPassInIntArray()
{
connection.Query<int>("select * from (select 1 as Id union all select 2 union all select 3) as X where Id in @Ids",new{Ids=newint[]{1,2,3}.AsEnumerable()})
.IsSequenceEqualTo(new[]{1,2,3});
}
[Fact]
publicvoidPassInEmptyIntArray()
{
connection.Query<int>("select * from (select 1 as Id union all select 2 union all select 3) as X where Id in @Ids",new{Ids=newint[0]})
.IsSequenceEqualTo(newint[0]);
}
[Fact]
publicvoidTestSchemaChanged()
{
connection.Execute("create table #dog(Age int, Name nvarchar(max)) insert #dog values(1, 'Alf')");
...
...
@@ -405,6 +207,7 @@ public void TestSchemaChanged()
}
}
[Fact]
publicvoidTestSchemaChangedMultiMap()
{
connection.Execute("create table #dog(Age int, Name nvarchar(max)) insert #dog values(1, 'Alf')");
...
...
@@ -431,6 +234,7 @@ public void TestSchemaChangedMultiMap()
varrows=connection.Query("select 1 A, 2 B union all select 3, 4").ToList();
...
...
@@ -618,6 +374,7 @@ public void TestExpando()
.IsEqualTo(4);
}
[Fact]
publicvoidTestStringList()
{
connection.Query<string>("select * from (select 'a' as x union all select 'b' union all select 'c') as T where x in @strings",new{strings=new[]{"a","b","c"}})
...
...
@@ -627,6 +384,7 @@ public void TestStringList()
.IsSequenceEqualTo(newstring[0]);
}
[Fact]
publicvoidTestExecuteCommand()
{
connection.Execute(@"
...
...
@@ -638,6 +396,8 @@ public void TestExecuteCommand()
varobj=connection.Query("select datalength(@a) as a, datalength(@b) as b, datalength(@c) as c, datalength(@d) as d, datalength(@e) as e, datalength(@f) as f",
varparents=connection.Query<Parent,Child,Parent>(@"select 1 as [Id], 1 as [Id] union all select 1,2 union all select 2,3 union all select 1,4 union all select 3,5",
result=connection.Query<LocalDateResult>("SELECT @NotNullable AS NotNullable, @NullableNotNull AS NullableNotNull, @NullableIsNull AS NullableIsNull",param).Single();