Entity Framework SaveChanges “hangs” the program

五迷三道 提交于 2019-12-22 05:21:10

问题


My code is pretty simple:

Context.AddObject("EntitiesSetName", newObjectName);
Context.SaveChanges();

It worked fine, but just one time – the first one. That time, I interrupted my program by Shift+F5 after the SaveChanges() was traced. It was a debug process, so I manually removed a newly created record from a DB and ran a program again in the debug mode. But it does not work anymore – it “hangs” when SaveChanges() is being called.

Another strange thing that I see: If I write before addObject() and SaveChanges() are called something like:

var tempResult = (from mydbRecord in Context 
                  where Context.myKey == 123 
                  select mydbRecord.myKey).Count(); 
// 123 is the key value of the record that should be created before the program hangs.

tempResult will have the next value: 1.

So, it seems that the record is created (when the program hung) and now exists, but when I check the DB manually using other tools – it does not!

What do I do wrong? Is it some kind of cache issue or something else?

EDIT:

I've found a source of problem. It was not EF problem at all, but it's a problem of the tool that I use to control the database manually (Benthic).

My program falls into some kind of deadlock (when I call SaveChanges()) with the tool when the tool is connected into the same DB.

So, the problem is in the synchronization area, imho, so my question can be marked as solved.

来源:https://stackoverflow.com/questions/13207907/entity-framework-savechanges-hangs-the-program

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!