2009-12-11 54 views
3

在我的应用程序调试运行一个有这样的例外,当我: {“操作可能会破坏运行。”}在foreach循环:的Linq:{“操作可能会破坏运行。”}

的foreach(在模型VAR项)

当我在第一时间在悬停debugmode模型 我说:

ResultView =>消费支出的结果视图将enumarate的enumarab乐

 base=>Operation Could not destabilize the runtime. 

徘徊一对夫妇多次之后,一个得到ResultView显示我的数据。 这就是当我在debugmode ...

当我不DEBUGIN它在它抛出该异常

模式A do sth对什么意思运行我的应用程序?

UPDATE 该模型是它的IQueryable仍然不起作用,只有当我我调试模式

回答

7

可能意味着我在执行代码生成器时犯了一个错误压缩树。当一个表达式结构体lambda变成一个委托体时,我们动态地将IL动态地吐在委托体中。如果该IL代码格式不正确且无法验证,那么运行该代码可能会使抖动生成错误的代码,并且理论上可能会破坏运行时的稳定性。我认为我们抓住了所有无法验证的代码缺陷,但有可能会有一些漏洞。

如果您有一个小而简单的自我反省的问题,并且看起来与上面的诊断相符,请通过我的博客上的联系链接发送电子邮件给我,并且我会收到一个错误信息现在拥有IL代码的团队。理想的repro只是生成违规表达式树lambda的代码,编译它并获取异常。

谢谢!

+1

我可以重现此错误,如下所示:(1)创建一个子级继承父级的数据模型。 (2)创建与孩子有关系的第三堂课。 (3)对第三个类做一个查询,它执行一个LoadWith (t => t.ChildClasses)。当该查询运行时,我收到此错误。 – 2011-02-04 01:58:02

相关问题