diff --git a/src/connector/C#/src/test/FunctionTest/QueryAsync.cs b/src/connector/C#/src/test/FunctionTest/QueryAsync.cs
new file mode 100644
index 0000000000000000000000000000000000000000..23546b51f59a930303aded982735e1d00e2405d1
--- /dev/null
+++ b/src/connector/C#/src/test/FunctionTest/QueryAsync.cs
@@ -0,0 +1,296 @@
+using TDengineDriver;
+using Test.UtilsTools;
+using System;
+using System.Runtime.InteropServices;
+using Xunit;
+using System.Collections.Generic;
+using Test.UtilsTools.DataSource;
+using Test.UtilsTools.ResultSet;
+using Xunit.Abstractions;
+using Test.Fixture;
+using Test.Case.Attributes;
+
+namespace Cases
+{
+ [TestCaseOrderer("XUnit.Case.Orderers.TestExeOrderer", "Cases.ExeOrder")]
+ [Collection("Database collection")]
+
+ public class QueryAsyncCases
+ {
+ DatabaseFixture database;
+
+ private readonly ITestOutputHelper output;
+
+ public QueryAsyncCases(DatabaseFixture fixture, ITestOutputHelper output)
+ {
+ this.database = fixture;
+ this.output = output;
+ }
+ /// xiaolei
+ /// QueryAsyncCases.QueryAsyncCases
+ /// Test query without condition
+ /// QueryAsync.cs
+ /// pass or failed
+ [Fact(DisplayName = "QueryAsyncCases.QueryWithoutCondition()"),TestExeOrder(1),Trait("Category", "QueryAWithoutCondition")]
+ public void QueryWithoutCondition()
+ {
+ IntPtr conn = database.conn;
+ IntPtr _res = IntPtr.Zero;
+
+ var tableName = "query_a_without_condition";
+ var createSql = $"create table if not exists {tableName}(ts timestamp,bl bool,i8 tinyint,i16 smallint,i32 int,i64 bigint,bnr binary(50),nchr nchar(50))tags(t_i32 int,t_bnr binary(50),t_nchr nchar(50))";
+ var dropSql = $"drop table if exists {tableName}";
+
+ var colData = new List