“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脫鉤
}