c# - linq to entity 中的奇怪结果

标签 c# mysql linq 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();

关于c# - linq to entity 中的奇怪结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19139344/

相关文章:

mysql - 最近的网络攻击和使用 ??在准备好的 MySQL 语句中

php - CKEditor 字符集

mysql-workbench - 将 sql 转储恢复到 RDS 的最快方法

c# - IQueryable 与 IEnumerable : is IQueryable always better and faster?

c# - 获取 Entity Framework 中每个组的最后记录?

c# - 按任何属性对列表进行排序的更好方法

c# - 上传视频文件后如何获取 youtube 视频链接?

c# - 我对 MVVM 模式有一些疑问

c# - 在 ASP.net MVC 中使用 Html Helper 在右大括号上关闭标记

c# - LINQ to Entities 无法识别方法 'System.String ToString(Int32)' 方法,并且无法将此方法翻译成存储表达式