4
我有這個疑問:「無效的嘗試時,不存在數據讀取」開始對查詢結果foreach循環時
// _db derives from DbContext
var toProcess = from jobItem in _db.Jobs
where jobItem.State == desiredState
select jobItem.ItemId;
foreach (Guid itemId in toProcess) //exception thrown on this line
{
// whatever
}
其中大部分時間運行正常,但過一段時間用線foreach
將拋出:
System.InvalidOperationException:無效嘗試讀取時不存在數據
和以下堆棧跟蹤:
System.Data.SqlClient.SqlDataReader.ReadColumnHeader(Int32 i)
System.Data.SqlClient.SqlDataReader.IsDBNull(Int32 i)
System.Data.Common.Internal.Materialization.Shaper.ErrorHandlingValueReader`1.GetValue(DbDataReader reader, Int32 ordinal)
System.Data.Common.Internal.Materialization.Shaper.GetColumnValueWithErrorHandling[TColumn](Int32 ordinal)
System.Data.Common.Internal.Materialization.Coordinator`1.ReadNextElement(Shaper shaper)
System.Data.Common.Internal.Materialization.Shaper`1.SimpleEnumerator.MoveNext()
這沒有任何意義。我該如何解決這個問題?
這是一個非常奇怪的錯誤;看起來像某種內部混亂檢查行;這是使用什麼版本的.NET? –
@Marc Gravell:這是4.0版 – sharptooth
而EF的版本是什麼? 4.0,4.1,4.2,4.3?你有沒有試過更新? – abatishchev