Google Analytics İzleme

06 Ağustos 2012

ef - The result of a query cannot be enumerated more than once. hatası

Entity framework'de sorgu sonucu birden fazla kez çağrılamamaktadır. Yoksa şu şekilde hata vermektedir:
The result of a query cannot be enumerated more than once.
Sql sonucunu yeni bir değişkende saklayıp, yeni değişken üzerinde işlem yapılmalıdır.

Hata veren örnek kod:


var record = dbContext.ExecuteStoreQuery<SISStudentDeptType>(sqlQuery, sqlParameters);
                if (record.Count() > 0)
                {
                    result = record.Single();
                }


Yukarıda record.Count() ve record.Single() ile iki kere çağrım yapılmakta.

Doğru yazılmış örnek kod:


var record = dbContext.ExecuteStoreQuery<SISStudentDeptType>(sqlQuery, sqlParameters);
                List<SISStudentDeptType> recordList = record.ToList();
                if (recordList.Count > 0)
                {
                    result = recordList[0];
                }



Kaynak:
http://forum.ceturk.com/showthread.php/21670-linqtosql-de-quot-The-query-results-cannot-be-enumerated-more-than-once-quot-hatas%C4%B1

Hiç yorum yok: