我有一个Article
具有以下结构的实体
public class Article { public decimal Price {get;set;} public decimal? SalePrice {get;set;} public bool OnSale {get;set;} }
我需要做的是按照以下标准按价格查询文章:如果文章正在销售,请拿它的销售价格,如果没有,请按正常价格.
举个例子:
文章A(OnSale = True,价格= 10,SalePrice = 5)
B条(ONSale = False,Price = 4,SalePrice = NULL)
C条(OnSale = False,价格= 22,SalePrice = 10)
按价格订购时,订单应该是
B(价格4)
A(价格5) - 导致它的销售价格
C(价格22)
我试过了
IQueryablearticlesQuery = dal.Where (m => m.Active); articlesQuery = articlesQuery.OrderBy(m => m.OnSale ? m.PriceSale : m.PriceSale);
但它没有给出理想的结果.
任何帮助表示赞赏.
if的两边是同一个变量吗?(而不是上述类中的变量).
不应该是:
articlesQuery = articlesQuery.OrderBy(m => m.OnSale ? m.SalePrice: m.Price);