Dappper - 慢映射

问题描述 投票:0回答:0

我现在正在我的 .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>();
            }

谢谢

c# .net-core dapper
© www.soinside.com 2019 - 2024. All rights reserved.