2013-08-30 2 views
0

Привет, я хочу получить счет этого запроса linq. Я использую структуру сущности с шаблоном репозитория. Можно получить результат queryUserWalls.ToList(). Count() , который, как я считаю, неэффективен. Может ли любой орган помочь.Count Query with join and union

var queryUserWalls = (from participation in _eventParticipationRepository.GetAll() 
         join eve in _eventRepository.GetAll() on participation.EventId equals eve.Id 
         join userWall in _userWallRepository.GetAll() on participation.EventId equals userWall.EventId 
         where participation.UserId == userId 
         select userWall.Id) 

       .Union(from userWall in _userWallRepository.GetAll() 
         select userWall.Id); 
+0

Почему вы не можете использовать '.Count()' непосредственно? (no '.ToList()') – xanatos

+0

Почему вы не можете вызвать 'queryUserWalls.Count()'? – MarcinJuraszek

ответ

1

Оставьте ToList, потому что он принудительно выполняет выполнение запроса. Вы хотите использовать Queryable.Count, а не Enumerable.Count. Затем он будет выполняться на сервере.