AllMovieInfo = from movieInfo in AllMovieInfo
from countryMovie in movieInfo.SeenItWantToSeenIt
where countryMovie.Status==1
select movieInfo;
var seenitorderby = db.SeenItWantToSeeIt.Where(m => m.Status == 1).GroupBy(m => m.MovieID).Select(g => new {MovieID =g.Key,count=g.Count()}).OrderBy(o=>o.count);
List<int> seenItList=seenitorderby.Select(s=>s.MovieID).ToList();
AllMovieInfo = (from a in AllMovieInfo
from s in seenItList
where seenItList.Contains(a.MovieID)
select a).Distinct();
seenitorderby는 가장 많이 본 영화의 모든 ID를 제공합니다. 그래서 나는 AllMovieInfo에 참여하고 싶습니다. AllMovieInfo는 다른 매개 변수의 filterd movieinformation입니다. 이 쿼리는 명백한 "AllMovieInfo.MovieID"에 따라 결과를 정렬하지만, "seenitorderby"라는 ID에 따라 "결과"를 주문해야합니다. 예를 들어 보니 orderby는 movieID 2,25,7, 14,25 AllMovieInfo가 필요합니다. "seenitorderby"에 따라 "result"를 어떻게 주문할 수 있습니까?linq에서 주문 및 가입
AllMovieInfo S는 a.MovieID 동일에 –
가에 대한 간단한 솔루션은 seenItList 에서의에서 AllMovieInfo.AsEnumerable() – DoctorMick
을 (시도로는 AllMovieInfo에 가입에 IQueryable에 있으며 IEnumerable을 캐스팅 couldnot 가입 선택) .Distinct(). AsQueryable(); –