我现在正在我的 .net 核心应用程序中使用 dapper
在我的一个方法中有大约 50 列。当我查询超过 1000 条记录时,它变得很慢。调试时,我看到查询执行得非常快,看来映射需要很长时间。
任何改进性能的建议。最后的结果是一个json api结果
更新 - 代码如下
程序运行很快。只需要几秒钟。我不能分享模型。但是,如果有任何帮助调试或查看可能会导致速度缓慢的内容,我们将不胜感激。
var parameters = new DynamicParameters();
parameters.Add("@ReconMode", input.ReconMode);
parameters.Add("@ValueDateStart", input.StartValueDate.HasValue ? input.StartValueDate.Value: null);
parameters.Add("@ValueDateEnd", input.EndValueDate.HasValue ? input.EndValueDate.Value : null);
parameters.Add("@PostDateStart", input.StartPostDate.HasValue ? input.StartPostDate.Value : null);
parameters.Add("@PostDateEnd", input.EndPostDate.HasValue ? input.EndPostDate.Value : null);
parameters.Add("@AccountNumber", input.AccountNumber);
parameters.Add("@CustCode", input.GCIF);
parameters.Add("@Customer", input.Customer?.Trim().Length==0? null: input.Customer);
parameters.Add("@Source", input.Source);
parameters.Add("@File", input.File);
parameters.Add("@Stage", input.Stage);
parameters.Add("@AmountFrom", input.AmountFrom.HasValue? input.AmountFrom.Value : null);
parameters.Add("@AmountTo", input.AmountTo.HasValue? input.AmountTo.Value : null);
parameters.Add("@Dept", input.Dept);
using (var connection = sqlProvider.GetBRSConnection())
{
var aresults = connection.QueryMultipleAsync("report.usp_Date_Get",
parameters,
commandTimeout: 1500,
commandType: CommandType.StoredProcedure).Result;
results.Report = await aresults.ReadAsync<ReconReport>();
results.CustomerHints = await aresults.ReadAsync<CustomerHints>();
}
谢谢