c# - 简单的 LINQ 搜索查询,添加附加参数

标签 c# .net linq

下午,我尝试进行一个简单的搜索,该搜索适用于产品标题。但是我需要添加其他参数以进行搜索。我有下面代码的基础,至少我认为它应该是这样。我已经注释掉了其他项目

有人可以提供一些指导吗,因为我被困在自动取款机上。

var query = from a in dc.aProducts
            join t in dc.bProducts on a.sku equals t.sku
            where SqlMethods.Like(t.title, "%" + productName + "%")

            //Compare Prices
            //&& (p => (double)p.Price >= priceFrom && (double)p.Price <= priceTo)
            //Product SKU
            //t.sku == productSku
            //Product Brand
            //t.brand == productBrand
            //a.asin == productAsin
            //a.Live == IsLive

提前非常感谢,非常感谢所有帮助。

最佳答案

我很想做这样的事情:

bool comparePrices = true;

// Join tables and get all products into query
var query = from a in dc.aProducts
            join t in dc.bProducts on a.sku equals t.sku
            select a;

// Now go through each search criteria if needed in order to filter down
if(comparePrices)
    query = query.Where(p => (double)p.Price >= priceFrom 
                          && (double)p.Price <= priceTo);

if(!string.IsNullOrEmpty(productSku))
{
    query = query.Where(t.sku == productSku);
}

等等

每次您有条件地向原始查询添加过滤器时。

关于c# - 简单的 LINQ 搜索查询,添加附加参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11117588/

相关文章:

c# - 如何使用 padleft 表示负整数?

c# - 命名空间 `Kinect' 中不存在类型或命名空间名称 `Microsoft'

c# - 在写入/读取 c# mongodb 时加密/解密属性

c# - 异步一次性创建

.net - MS Access 驱动程序问题

c# - 不同的选项卡样式取决于选项卡项模板?

c# - 使用偶尔为空属性的 LINQ SequenceEqual 扩展方法

c# - 简单的 LINQ 订单不工作

c# - 将 C# 控制台应用程序转换为服务(Main 方法不起作用)

c# - 使用 LINQ 从文件中读取文本数据