我有一个10000产品/颜色/大小组合的字典,我用以下方法创建:
AllRecords = DB.ProductColourSizes _
.ToDictionary(function(b) String.Format("{0}_{1}_{2}", _
b.ProductCode, b.ColourCode, b.SizeCode))
Run Code Online (Sandbox Code Playgroud)
所以一个示例键就像"13AI_GRS_M"
我必须每隔30分钟将我的数据库与公司的ERP同步,对于每个颜色/大小组合,我需要使用此字典来添加,编辑或删除记录.我希望他们提供身份证号码.
我不知道词典在内部如何运作..NET根据这样的密钥找到正确的值有多快?我应该对数据库查询进行排序,还是.NET有其他方法来识别密钥?
或者我应该将其转换为List并使用Dictionary来识别正确的索引?或完全相反的方式?
我也以这种方式在网站的应用程序中使用静态字典,因此学习更好的方法可以产生相当大的影响.
非常感谢,史蒂夫
我正在安装Sitecore 7 + Glass Mapper 3,我希望对其进行优化.
我的代码的一个例子是:
[SitecoreQuery(".//*[@@templateid = '{011EC776-D9F3-4D73-8D8D-E454417E7574}']",
IsRelative = true)]
IEnumerable<ItineraryLine> Itinerary { get; set; }
Run Code Online (Sandbox Code Playgroud)
我希望使用FastQuery,但我得到错误:
期望在第4位的字符串结束
我尝试了以下解决方案,这涉及到getLookupSourceItems管道的插入- 但我不认为这是正确的管道,因为它不会在调试中触发.
Glass是否在此场景中使用了另一个管道(如果有的话)?有没有不同的方法可以解决我加快速度的目标?
如果我没有使用属性而是使用扩展方法,我可以手动执行此操作并使用*[@@id='']设置根节点,但我希望尽可能避免这种情况.