代码之家  ›  专栏  ›  技术社区  ›  DanO Roman

调试时如何评估延迟的LINQ语句?

  •  2
  • DanO Roman  · 技术社区  · 16 年前

    我在VS2010中进行调试,我想检查一个字符串值,但我能让调试器显示的(通过监视、悬停、局部变量等)是:

    "System.Linq.Enumerable+<TakeIterator>d__3a`1[System.Char]"
    

    我不在乎过早的评估是否有副作用,我只是想看看如果我现在在当前的断点评估它,表达式会有什么评估结果。

    怎么做到的?另外,我是否可以改变我的代码,使它能够更早地评估?不是我不调试的时候关心的…只是想知道。

    如果相关…(我怀疑)我在装新的 保存实体对象之前 到数据库…有些字段是用LINQ语句分配的,我不确定它们何时在EF的覆盖下得到评估。数据库更新失败,字符串或二进制数据将被截断…所以我想找一个太长的领域。

    2 回复  |  直到 15 年前
        1
  •  5
  •   dtb    16 年前
        2
  •  2
  •   wageoghe    15 年前

    这很晚了,可能不适用于最初的要求,但我在一段时间前发现了Bart de Smet的这篇文章,内容是关于帮助linq to objects调试的编码技术:

    http://community.bartdesmet.net/blogs/bart/archive/2009/04/23/linq-to-objects-debugging.aspx

    我还没试过,但我觉得它看起来很有趣。