使用Linq搜索查询||

使用Linq搜索查询||,linq,asp.net-mvc-4,Linq,Asp.net Mvc 4,我让它工作好了: var results = db.GetProducts().Where(p => p.ProductName.Equals(searchQuery, StringComparison.OrdinalIgnoreCase)); 当我使用| |比较将我的新查询设置为: var results = db.GetProducts().Where(p => p.ProductName.Equals(searchQuery, StringComparison.Ordinal

我让它工作好了:

var results = db.GetProducts().Where(p => p.ProductName.Equals(searchQuery, StringComparison.OrdinalIgnoreCase));
当我使用| |比较将我的新查询设置为:

var results = db.GetProducts().Where(p => p.ProductName.Equals(searchQuery, StringComparison.OrdinalIgnoreCase)) || db.GetProducts().Where(p => p.ProductId.ToString().Equals(searchQuery, StringComparison.OrdinalIgnoreCase));
我的结局是:

    Error   1   Operator '||' cannot be applied to operands of type 
'System.Collections.Generic.IEnumerable<Uppgift_1.Models.MyProduct>' and 
'System.Collections.Generic.IEnumerable<Uppgift_1.Models.MyProduct>'    C:\Home\Programming
\cSharp\projects\MVC_projects\Uppgift_1\Uppgift_1\Controllers\ProductController.cs
    23  27  Uppgift_1
错误1运算符“| |”不能应用于类型为的操作数
“System.Collections.Generic.IEnumerable”和
'System.Collections.Generic.IEnumerable'C:\Home\Programming
\cSharp\projects\MVC\u projects\Uppgift\u 1\Uppgift\u 1\Controllers\ProductController.cs
23.27.1

如果要在搜索查询中同时包含这两个语句,该怎么办?

您需要将这两个条件放在相同的
中,其中

var results = db.GetProducts()
                .Where(p => p.ProductName
                             .Equals(searchQuery, 
                                     StringComparison.OrdinalIgnoreCase) ||
                            p.ProductId.ToString()
                             .Equals(searchQuery,
                                     StringComparison.OrdinalIgnoreCase));
试试这个:

var results = db.GetProducts()
    .Where(p => p.ProductName.Equals(searchQuery, StringComparison.OrdinalIgnoreCase)
    || p.ProductId.ToString().Equals(searchQuery, StringComparison.OrdinalIgnoreCase));

只需读取错误文本。将| |应用于两个序列。