У меня SQL-запрос сделан с помощью dapper, и он возвращает пустой результат.Но если я запускаю SQL Profiler и выполняю запрос, который вижу там, результат будет не пустым.
Вот мой код
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; }
}
В отладчике я вижу, что мои "Группы"пусто, но если я запускаю SQL Server Profiler, я вижу, что запрос, сделанный этим кодом,
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
И если я выполняю это из Management Studio, я вижу таблицу с данными:
+----------+--------+--------+
| Network | Clicks | Profit |
+----------+--------+--------+
| Network1 | 38835 | 0.45 |
| Network2 | 38835 | 0.35 |
+----------+--------+--------+