2

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

4

1 回答 1

2

我认为您实际上无法调试代理 - 至少不能使用 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/ - 有一些黑客你会能够将生成的类型保存到磁盘并使用反射器查看代码。

于 2012-11-20T05:30:13.330 回答