所以我一直在努力解决大型实体框架查询中的visual studio调试器超时问题。基本上有时当踩过实体框架linq查询时,它会给我这个错误。
评估功能 'System.Data.Entity.Infrastructure.DbQuery.ToString'定时 出来并需要以不安全的方式中止。这可能已经损坏了 目标过程。
如果问题经常发生,请考虑禁用 工具 - >选项设置“调试 - >常规 - >启用属性评估 和其他隐式函数调用“或更改代码以禁用 评估这种方法。有关执行此操作的信息,请参阅帮助。
一旦我遇到错误,我需要重新启动调试器来修复它。经过一番研究和拔毛之后,我遇到了一个启用“使用托管兼容模式”的建议。令人惊讶的是这很有用,我也注意到我可以逐步完成代码的速度显着提高。
文档说这是一个传统调试器,启用它可能会禁用某些调试功能。
那么功能差异究竟是什么呢?为什么使用“托管兼容模式”会提高步调速度呢?
答案 0 :(得分:2)
据我所知,这是VS2013的一个新选项
在旧的VS版本中,C#和VB项目没有办法关闭托管调试。
选项"托管兼容模式"用于管理和混合调试,但不用于仅本机调试。
您可以从Hans Passant的建议中获得更详细的信息:
`Use managed compatibility mode` or `Enable native code debugging`?