이 질문에는 이미 답변이 있습니다.
이것은 내 코드이다.
searchDataContext db = new searchDataContext();
var query = (from p in db.SearchFirst(city, area)
select new
{
ID = p.Id,
Address = p.address,
Level = p.agahilevel
});
int count =query.Count();
// records
var q = query.Skip(Convert.ToInt32(start)).Take(Convert.ToInt32(width));
if (q.Count() > 0)
{
int index = 0;
str += "[";
foreach (var row in q)
{
if (index == 0)
이 코드에 오류가 있습니다.
The query results cannot be enumerated more than once.
저를 확인하고 저에게 응답하십시오.
귀하의 질의 구체화 :
var addresses = (from p in db.SearchFirst(city, area)
select new
{
ID = p.Id,
Address = p.address,
Level = p.agahilevel
})
.Skip(Convert.ToInt32(start))
.Take(Convert.ToInt32(width))
.ToList();
그런 다음Enumerable.Any
요소가 포함되어 있는지 확인합니다.
if(addresses.Any())
{
int index = 0; // ...
}
캐싱 된 쿼리를 사용하여 여러 번 반복 할 수는 없습니다 ...
을 만들다List<T>
그것을 다시 시도해보십시오.
var q = query.ToList(); // work on this
추가하는 경우.ToList()
귀하의 질문에 귀하의 문제가 해결 될 것입니다.