【发布时间】:2013-11-07 18:22:16
【问题描述】:
在针对运行 SQL Server 的代码进行单元测试时,我在 VS2013 Ultimate 调试器中遇到了很多使用 Entity Framework 6.0.1 的问题。
无法在调试器中查看包含实体的变量。例如,如果我对我的 DbContext 执行 LINQ 查询并刷新结果视图以实际执行查询,则结果值为“无法评估子级”。如果我使用 ToArray() 它,那么现在变量是一个实体数组而不是一个 IQueryable,数组中的每个结果都是“无法评估表达式”。如果我将该数组中的单个实体值存储到一个变量并尝试查看它,我会得到“运行时此时拒绝评估表达式。”
通常,在涉及访问实体属性的行中按 F10 会导致 Visual Studio 崩溃。
如果我针对模拟的假 DbSet 运行测试,则不会发生这种情况。
这是一个已知问题吗?有没有办法解决这个问题?
【问题讨论】:
-
DbSet 的泛型类型在模拟案例中是否相同?也许实体类型有一个属性,也许是您创建的某种计算属性,它会引发异常。只是猜测。
标签: c# linq entity-framework debugging visual-studio-2013