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
C#, .NET, .Net Core
ASP.NET MVC, ASP.NET Web Forms, ASP.NET Core
HTML 5, CSS 3, Javascript, jQuery, Bootstrap
Entity Framework, NHibernate, Dapper
Sql Server, MySql, Oracle
Windows Server, Ubuntu, Debian, Pardus
Xamarin Forms, Android Studio
--- The future of the open web platform is looking very bright!
--- .NET is a free, cross-platform, open source developer platform for building any app.
Google Analytics İzleme
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder