entity-framework - 如何调试 Entity Framework 代理?

标签 entity-framework poco

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

最佳答案

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

关于entity-framework - 如何调试 Entity Framework 代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13465822/

相关文章:

linux - 如何剥离我的 Yocto Linux?

Azure,DocumentDB无法将POCO对象保存为文档

c++ - 错误: field 'dateOfBirth' has incomplete type 'Poco::Data::Date'

c# - Entity Framework 的快照历史

c# - Entity Framework 问题 "The table/view ' 没有定义主键。”

entity-framework - EF Code First CTP5 - 手动删除和创建数据库?

c# - 从硬编码模型到数据驱动菜单

entity-framework - Entity Framework 错误删除具有外键关系的实体

c# - 泛型和 Entity Framework : How do I return a different type depending on a column value

c# - 延迟加载是否在迭代时加载整个集合?