您可以在以下位置查看我的代码:https://gist.github.com/anonymous/da0d2b99e5adf7db5e08
我在ASP.NET MVC项目中使用Entity Framework 6 / LINQ和C#。数据库是MySQL。
当我将对象映射从数据库调用中分离出来时,它会将速度提高2倍以上(1000次迭代时为4000ms,1000次迭代时为1600ms)。我尝试过切换订单并预先缓存数据库调用(我不确定它们是否缓存,但我尝试过),结果没有变化。测试用例输出的对象列表(returnList1和returnList2)似乎相同。
A)我是否弄乱了我的测试用例或这些结果是否准确? B)如果我没有弄乱我的测试用例,为什么不测试#1只是编译成类似于测试#2的代码,测试1对测试2有什么好处?
答案 0 :(得分:0)
我正在回答我的问题,因为我也问了其他地方的问题,并收到了有用的答案。这可能是由于Cold vs. Warm Query Execution, as you can see on msdn.
此外,建议使用插件观看数据库查询的评论很有意思,但是只是从Linq To Entities查询中删除toList,格式化方式与我的问题相同,显示了相关的原始mysql查询。