【问题标题】:How to debug Entity Framework Proxies?如何调试实体框架代理?
【发布时间】:2012-11-20 02:38:51
【问题描述】:

在试用了 Entity Framework 5.0 几周后,我想我了解了基础知识。有两种类型的代理 - 仅延迟加载和更改跟踪。我知道如何启用/禁用每个以及何时使用它们。但是,我想看看这些课程。我希望能够在调试时介入它们,并且我想看看逻辑实际上做了什么。但是,由于它们是运行时生成的,Visual Studio 无法调试它们。理想情况下,我可以预编译它们,但现在我只想看看它们在做什么。

【问题讨论】:

    标签: entity-framework poco


    【解决方案1】:

    我认为您实际上不能调试代理 - 至少不能使用 Visual Studio。类型是动态生成的。生成代理的代码在这里:http://entityframework.codeplex.com/SourceControl/changeset/view/190eef267fc7#src%2fEntityFramework%2fCore%2fObjects%2fInternal%2fEntityProxyFactory.cs(请注意,这是在 EF6 中完成的,但自 EF5 以来并没有太大变化)。您可能还想看看这篇博文:http://davedewinter.com/2010/04/08/viewing-generated-proxy-code-in-the-entity-framework/ - 通过一些黑客攻击,您将能够将生成的类型保存到磁盘并使用反射器查看代码。

    【讨论】:

    • 是的,它们在 EF5 和 EF6 中,我认为没有任何删除它们的计划 - 您可以随时禁用它们。没有代理延迟加载将无法工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    相关资源
    最近更新 更多