Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检索名称取决于价格条件_C#_Linq_Entity Framework_Linq To Entities - Fatal编程技术网

C# 检索名称取决于价格条件

C# 检索名称取决于价格条件,c#,linq,entity-framework,linq-to-entities,C#,Linq,Entity Framework,Linq To Entities,我有一个表产品: product_id product_name product_price 如何检索价格范围为以下的产品名称: 1) 0-500 2) 500 - 1000 3) 1000+ 是否可以根据这些条件检索产品名称?var range1=来自产品中的p var range1 = from p in products where p.product_price > 0 && product_price < 500 sel

我有一个表
产品

product_id 
product_name
product_price
如何检索价格范围为以下的产品名称:

1) 0-500
2) 500 - 1000
3) 1000+
是否可以根据这些条件检索产品名称?

var range1=来自产品中的p
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;
其中p.product\u price>0和&product\u price<500 选择p; var range2=产品中的p 其中p.product\u price>=500和p.product\u price<1000 选择p; 变量范围3=产品中的p 其中p.产品价格>=1000 选择p;
var range1=来自产品中的p
其中p.product\u price>0和&product\u price<500
选择p;
var range2=产品中的p
其中p.product\u price>=500和p.product\u price<1000
选择p;
变量范围3=产品中的p
其中p.产品价格>=1000
选择p;

假设这些是单独的查询,并且
价格从来都不是负数:

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);
var products1=产品,其中(p=>p.product\u价格<500);
var products2=产品,其中(p=>p.product\u price>=500和p.product\u price<1000);
var products3=产品,其中(p=>p.product\U价格>=1000);

我包括较低的值,但不包括较高的值。

假设这些是单独的查询,并且
价格
从来都不是负值:

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);
var products1=产品,其中(p=>p.product\u价格<500);
var products2=产品,其中(p=>p.product\u price>=500和p.product\u price<1000);
var products3=产品,其中(p=>p.product\U价格>=1000);

我将包括较低的值,但不包括较高的值。

我建议首先返回所有结果,然后将它们分离出来。而不是对数据库进行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;
var prods=(来自产品中的p
选择p.ToList();
变量范围1=产品中的p
其中p.product\u price>0和p.product\u price<500
选择p;
变量范围2=产品中的p
其中p.product\u price>=500和p.product\u price<1000
选择p;
变量范围3=产品中的p
其中p.产品价格>=1000
选择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;
var prods=(来自产品中的p
选择p.ToList();
变量范围1=产品中的p
其中p.product\u price>0和p.product\u price<500
选择p;
变量范围2=产品中的p
其中p.product\u price>=500和p.product\u price<1000
选择p;
变量范围3=产品中的p
其中p.产品价格>=1000
选择p;

您是否在寻找3个独立的查询?是否可以为三个条件编写单个实体查询…或者是否可以编写单独的条件…非常感谢您的支持…您是否在寻找3个独立的查询?是否可以为三个条件编写单个实体查询…或者是否可以编写单独的条件条件…非常感谢您的支持…我想您想要的是“p.product\u price”,而不仅仅是p.product\u price,我想要产品表中的所有列我想您想要的是“p.product\u price”,而不仅仅是p.product\u price,我想要产品表中的所有列