다음과 같은 쿼리가 있습니다. 엔티티 dotnet core/linq에 가입 하시겠습니까?
SELECT *
FROM Movie m INNER JOIN
(
SELECT movie_id, COUNT(movie_id) as amount
FROM Watchhistory
WHERE watch_date >= DATEADD(day,-3000, GETDATE())
GROUP BY movie_id
) as a on m.movie_id = a.movie_id
ORDER BY a.amount DESC
다음과 같은 테이블 : 지금
내 시도 : 나는 C#을 DOTNET 엔티티에서 작업을 진행하는 것 캔트 var movies = _context.Movie .AsNoTracking() .Join( _context.Watchhistory.Where( w => w.WatchDate >= Convert.ToDateTime(DateTime.Now).AddDays(-14)) .GroupBy(w => w.MovieId) .Select(m => new { amount = m.Count(), mID = m.Key }) .OrderByDescending(a => a.amount) .Select(a => new { movieid = a.mID }), m => m.MovieId, w => w.movieid, (m, w) => m);
. linq에서 올바른 외부 조인을 사용하려면 어떻게해야합니까?
이의 왜 당신도 오른쪽 외부 조인이 필요합니까 당신이 무엇을 시도했다보고 –
것을 떨어져 노력합시다 :
그렇게
뭔가처럼된다? 외래 키가 제대로 설정되었다고 가정하면'MovieHistory' 테이블에'Movie' 테이블에 존재하지 않는'movie_id'를 가질 수 없습니다. 내부 조인으로 충분합니다. – GarethD
SQL에서 생각을 멈추고 linq를 생각해보십시오. '오른쪽 외부 조인'은 SQL 개념입니다. @ 가레 스가 맞습니다. – tschmit007