“System.Data.Entity.Core.EntityCommandExecutionException”類型的異常在 EntityFramework.SqlServer.dll 中發生


“System.Data.Entity.Core.EntityCommandExecutionException”類型的異常在 EntityFramework.SqlServer.dll 中發生,但未在用戶代碼中進行處理

其他信息: 執行命令定義時出錯。有關詳細信息,請參閱內部異常。

找到詳細:

entity framework中 已有打開的與此 Command 相關聯的 DataReader,必須首先將它關閉。

EF內部是使用DataReader作資料存取,所以如果如下就會產生Error,因為DataReader用同一個Connection.

處理方式有兩種
1,設定ConnectionString加上MultipleActiveResultSets=true,但只適用於SQL 2005以後之版本
2.先讀出放置在List中
foreach(Employee emp in context.Employees.ToList())
{
  emp .Customer .... //通過,因emp這時候已經不是context中的參考物件,而是獨立的instance,與context脫鉤
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM