我有一个代码:
foreach (var idObject in ids)
{
var parsedIDs = ParseId(idObject.id);
var integers = new Dictionary<string, int>() { { "model_id", model }, { "year", 2010 }, { "quarter", 1 }, { "month", 1 }, { "rows", rows }, { "page", page } };
var strings = new Dictionary<string, string>() { { "gr_str", "" }, { "row_id", "" }, { "sidx", sidx }, { "sord", sord } };
var additionals = new Dictionary<string, object>() { { "rowid", idObject.id },
{"contr_group_id_e", parsedIDs[0]},
{"nomencl_group_set1_id_e", parsedIDs[1]},
{"nomencl_group_set2_id_e", parsedIDs[2]},
{"workshop_id_e", parsedIDs[3]},
{"unit_meas_id_e", parsedIDs[4]},
{"plant_id_e", parsedIDs[5]} };
foreach (var datePair in queryDates)
{
additionals["begin_date_e"] = datePair.Key;
additionals["end_date_e"] = datePair.Value;
var parameters = InitParams(integers, strings, additionals).ToArray();
var lastTimestamp = DateTime.Now;
var queryResults = ModelEntities.ExecuteStoreQuery<ReadyProductIndexes>(Queries.SaleIndexGetRowByID, "Sale", MergeOption.NoTracking, parameters).ToList();
Debug.WriteLine("TIme: " + (DateTime.Now - lastTimestamp).TotalSeconds);
}
Debug.WriteLine("rowid " + idObject.id);
}
有一个问题 -foreach
第一步一切正常,但在第二步和其他查询开始工作非常缓慢(例如,第一步为 0.2 秒,第二步为 8 秒)。
我的代码有什么问题?
编辑:我尝试使用 MS SQL 探查器,并且有一些有趣的事情 - 探查器显示 8 秒的请求持续时间,但是当我尝试从探查器手动运行请求时,它运行得很快。这很奇怪。