根据价格条件检索名称

本文关键字:检索 条件 | 更新日期: 2023-09-27 18:06:29

我有一个表product:

product_id 
product_name
product_price

如何检索价格范围为:

的产品名称
1) 0-500
2) 500 - 1000
3) 1000+

是否可以根据这些条件检索到产品名称?

根据价格条件检索名称

假设这些是单独的查询,并且price从不为负:

var products1 = products.where(p=> p.product_price < 500);
var products2 = products.where(p=> p.product_price >=500 && p.product_price < 1000);
var products3 = products.where(p=> p.product_price >=1000);

I'm 包括的低值,但不包括的高值。

var range1 = from p in products
        where p.product_price > 0 && product_price < 500
        select p;
var range2 = from p in products
        where p.product_price >= 500 && product_price < 1000
        select p;
var range3 = from p in products
        where p.product_price >= 1000
        select p;

我建议首先返回所有结果,然后将它们分开。而不是对数据库进行3次单独的查询。

var prods =  (from p in products
             select p).ToList();
var range1 = from p in prods
             where p.product_price > 0 && p.product_price < 500
             select p;
var range2 = from p in prods
             where p.product_price >= 500 && p.product_price < 1000
             select p;
var range3 = from p in prods
             where p.product_price >= 1000
             select p;