[英]weird result in linq to entity
我正在對可以設置區域和城市的站點進行一些過濾,但是我只想顯示有產品的區域和城市,但是城市部分給了我錯誤的結果。 我首先在簡單的MySql中進行查詢,並且工作正常:
SELECT b.city, COUNT(b.city)
FROM ads AS a
JOIN locations AS b ON b.id = a.locations_id
JOIN areas AS c ON c.id = b.areas_id
WHERE
a.title LIKE '% mini' OR
a.title LIKE '% mini %' OR
a.title LIKE 'mini %' AND
c.id = '7ea21f5b-5c75-11e1-8809-4061869766cd'
GROUP BY b.city
Linq到實體:
var query = (from a in db.ads
join b in db.locations on a.locations_id equals b.id
join c in db.areas on b.areas_id equals c.id
where
a.title.Contains(" " + searchQuery) ||
a.title.Contains(" " + searchQuery + " ") ||
a.title.Contains(searchQuery + " ") &&
c.id.Equals(area)
select new {
b.city
}).OrderBy(x => x.city).GroupBy(x => x.city).ToList();
return jsonOutputString.Serialize(query);
實體查詢的linq只是返回所有城市,而不關心區域過濾器
試試這個
var query = (from a in db.ads
join b in db.locations on a.locations_id equals b.id
join c in db.areas on b.areas_id equals c.id
where
(a.title.Contains(" " + searchQuery) ||
a.title.Contains(" " + searchQuery + " ") ||
a.title.Contains(searchQuery + " ")) &&
b.areas_id.Equals(area)
select new
{
b.city
}).OrderBy(x => x.city).GroupBy(x => x.city).ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.