0
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.MovieID”排序,这是显而易见的,但是我必须根据来到的ID来命令“结果”是“seesitorderby”,例如:看到它可能需要movieID 2,25,7, 14,25然后我需要AllMovieInfo按照与查看者相同的顺序。如何根据“seesitorderby”命令“结果”?订购并加入linq
AllMovieInfo是IQueryable的并加入couldnot投射到的IEnumerable –
作为一个简单的解决方案是,在seenItList 尝试AllMovieInfo.AsEnumerable() – DoctorMick
(从s中AllMovieInfo上s等于a.MovieID加入 选择a).Distinct()。AsQueryable(); –