I have the SQL Query made with dapper, and its return an empty result. But if i run the SQL Profiler and execute request that i see there the result would be not empty.
Here is my code
public class Parameters
{
public DateTime? SinceDate { get; set; }
public DateTime? UntilDate { get; set; }
public byte NetworkId { get; set; } = 7;
}
var parameters = new Parameters()
{
SinceDate = startDate,
UntilDate = endDate,
NetworkId = networkId,
};
DynamicParameters requestParameters = new DynamicParameters();
requestParameters .Add("@sinceDateFilter", parameters.SinceDate, DbType.DateTime);
requestParameters .Add("@untilDateFilter", parameters.UntilDate, DbType.DateTime);
requestParameters .Add("@networkId", parameters.networkId, DbType.Byte);
using (var secondConn = new SqlConnection(ConnectionString))
{
var query = secondConn.Query<ReportRow>(
"[dbo].[GET_Report] @sinceDateFilter, @untilDateFilter, @NetworkId",
requestParameters,
commandTimeout: 500
);
Groups = query.ToList();
}
public class ReportRow
{
public string Network { get; set; }
public ulong Clicks { get; set; }
public decimal Profit { get; set; }
}
In the debugger i see that my "Groups" is empty, but if i run the sql profiler i see the request made by this code is
exec sp_executesql N'[dbo].[GET_Report] @sinceDateFilter, @untilDateFilter, @networkId',N'@sinceDateFilter datetime,@untilDateFilter datetime, @networkId tinyint',@sinceDateFilter='2019-04-01 00:00:00',@untilDateFilter='2019-04-02 00:00:00',@networkId=7
And if i execute this from management studio i see the table with data:
+----------+--------+--------+ | Network | Clicks | Profit | +----------+--------+--------+ | Network1 | 38835 | 0.45 | | Network2 | 38835 | 0.35 | +----------+--------+--------+
If you want to execute by stored procedure.
You can try to set commandType
parameter.
Setting with CommandType.StoredProcedure
using (var secondConn = new SqlConnection(ConnectionString))
{
var query = secondConn.Query<ReportRow>(
"[dbo].[GET_Report]",
requestParameters,
commandTimeout: 500,
commandType: CommandType.StoredProcedure
);
Groups = query.ToList();
}