0
私はこのクエリを持っており、JobIDの等しい変数、またはJobIDがnullの場合はすべてのレコードを選択します。どうしたらいいですか?変数がnullの場合どのようにすべてのレコードを選択するelse linqでフィルタリングされたレコードを選択
var SearchPost = (from p in db.Posters
where p.CityID == CityID && p.PosterOK == 1 && p.PosterName.Contains(strSearch) && p.PosterImageCount > btnImage && p.JobID == JobID
join a in db.Likes
on p.PosterID equals a.PosterID into LikeSearch
join b in db.Comments
on p.PosterID equals b.PosterID into CommentSearch
select new {
p
//For get Count of like
, like = LikeSearch.Where(a => a.PosterID == p.PosterID).Count()
//For get AVG from Comments
, CommentCount = CommentSearch.Where(b => b.PosterID == p.PosterID).Count()
, price = (int?)CommentSearch.Select(h => h.Price).Average() ?? 0
, quality = (int?)CommentSearch.Select(h => h.Quality).Average() ?? 0
, variety = (int?)CommentSearch.Select(h => h.Variety).Average() ?? 0
, morality = (int?)CommentSearch.Select(h => h.Morality).Average() ?? 0
});
ありがとうございました。それは非常にうまくいく;) – sadegh