我有一个具有以下结构的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,Price = 22,SalePrice = 10)
按价格订购时,订购应为
B(价格4)
A(价格5)-表示其销售价格
C(价格22)
我尝试过
IQueryable<Article> articlesQuery = dal.Where<Article>(m => m.Active);
articlesQuery = articlesQuery.OrderBy(m => m.OnSale ? m.PriceSale : m.PriceSale);
但它并不能达到预期的效果。
任何帮助表示赞赏。
最佳答案
如果双方都是相同的变量? (而不是上述类中的变量)。
不应该是:
articlesQuery = articlesQuery.OrderBy(m => m.OnSale ? m.SalePrice: m.Price);