实体框架奇怪的行为

时间:2014-04-22 15:30:32

标签: winforms entity-framework entity-framework-4 ef-database-first

我最近在数据库表中添加了一个新字段("Category")。从数据库更新了模型。当我进行查询并获取此表的集合时,我尝试向此字段添加值。我现在不是保存它的事件。程序运行就像它处于无限循环中一样。当我停止调试器时,它位于模型设计器代码的ReportPropertyChanged("Category")上。如果我进入代码,它会进入另一个字段的Get部分而只是卡在这个Get循环中 - 非常奇怪。我有清理/重建的解决方案,删除模型并重新附加剩余的行为。我过去成功添加了字段而没有这个奇怪的结果,有什么想法吗?

Winforms,EF 4.0。

代码行(问题的位置):

rec.Category = category 

1 个答案:

答案 0 :(得分:1)

听起来可能有一个事件监听器,你无意中再次更改了该属性。

也许尝试在生成的代码的setter中设置断点,如此回答https://stackoverflow.com/a/9005656/141022所示,以尝试发现循环。

在visual studio调试器设置中逐步调整属性。

也许暂时从生成的代码中删除DebuggerStepThrough(如果它在那里),看看你是否可以进入该属性。

链接的答案(虽然没有直接关联)可能会给你一些提示。

也许callstack也可能会给你一些提示,但我猜测如果它跨越线程可能会很棘手。