问题描述
我的程序在使用Entity Framework获取值时挂起。这是我的简单代码:
LearningEnglishEntities db2 = new LearningEnglishEntities();
List<tb_Words> searchedItems = db2.tb_Words.ToList(); // it hangs here
这不是异步方法。关于async
的问题有solutions,但是我没有找到解决问题的解决方案。
它没有响应,它一直在等待。我所有的代码都运行到2天之前。我没有输入或执行任何操作,但发生了此错误(短视频为here)
到目前为止,我已经尝试过这些事情:
-
我从解决方案中删除了Entity Framework模型,然后再次添加了它
-
我创建了一个新程序,并且使用了完全相同的代码和模型(可以正常工作):
LearningEnglishEntities1 db = new LearningEnglishEntities1(); List<tb_Words> sample = db.tb_Words.ToList(); // It worked
-
我cleaned我的解决方案
-
我输入了以下代码:
var query = from item in db.tb_Words select item; // It hangs the same way
-
我检查了此代码是否不是由另一个线程运行的:
bool query0 = this.InvokeRequired; if (!query0) { LearningEnglishEntities db2 = new LearningEnglishEntities(); List<tb_Words> searchedItems = db2.tb_Words.ToList(); // It still hangs }
-
我将Entity Framework 6.0x版本更改为5.0x,但没有 工作。
-
我完全copied将所有文件粘贴到新项目中。它运行了但是没用
-
我重新启动了Microsoft分布式事务处理协调器服务,并检查了启动类型为“自动”。没用。
奇怪的是,它可以在其他项目上运行,但是挂在该项目上。我没有找到解决此错误的任何解决方案。你认为我该怎么办?
我的连接字符串也是:
<connectionStrings><add name="LearningEnglishEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=DESKTOP-REKGVD4\SQLEXPRESS;initial catalog=LearningEnglish;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" /></connectionStrings>
谢谢
解决方法
毕竟,我能够找到解决方案,但我不知道原因。使用实体框架代码首先解决了我的问题。这对我的项目不利,但我必须使用它。