linq 2 entites 사용하여 내 쿼리 중 하나가 문제가 있습니다. db하지만 어떤 성공도없이 생성되기 전에 쿼리를 보려고합니다. ToTraceString()을 사용해 보았지만 쿼리를 ObjectQuery로 캐스팅 할 수 없었습니다. 내가 메모리 부족 예외를 얻을 LINQ에서 그것을 실행하려고하면linq 실제 SQL 쿼리를 볼 수 없습니다
var movies = (from m in watchedRepo.GetAll().Where(c => c.iUserId == userId).ToList()
join f in moviePageViewsRepository.GetAll() on m.iMovieId equals f.iMovieId
group f by new JoinClass { MovieId = f.iMovieId, Points = m.iPoints }
into g
orderby g.Key.Points descending , g.Sum(d => d.iScore) descending
select new JoinClass { MovieId = g.Key.MovieId, Points = g.Key.Points, PageViews = g.Sum(d => d.iScore) }).Skip(skip).Take(take);
: 이 내 쿼리입니다. 아이디어가 있으십니까? watchedRepo
가정
"ToList()를 제거 할 때 쿼리가 계속 작동합니까?". 나는 Generic Repositories를 사용하고 있는데, "ToList"를 사용하지 않으면 다른 dbcontext에 대한 코드가 동일한 쿼리에서 허용되지 않습니다. 내가 뭘 잘못하고 있는지 말해 줄 수있어? –
두 리포지토리간에 동일한 DbContext를 공유하고 있습니까? –
나는 Generic Repository Approach를 사용하고 있기 때문에 내가 생각했다. http://www.tugberkugurlu.com/archive/generic-repository-pattern-entity-framework-asp-net-mvc-and-unit-testing-triangle –