Rob*_*ert 1 c# linq lambda linq-to-sql
我有一个Article具有以下结构的实体
public class Article
{
public decimal Price {get;set;}
public decimal? SalePrice {get;set;}
public bool OnSale {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我需要做的是按照以下标准按价格查询文章:如果文章正在销售,请拿它的销售价格,如果没有,请按正常价格.
举个例子:
按价格订购时,订单应该是
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);
Run Code Online (Sandbox Code Playgroud)
但它没有给出理想的结果.
任何帮助表示赞赏.
if的两边是同一个变量吗?(而不是上述类中的变量).
不应该是:
articlesQuery = articlesQuery.OrderBy(m => m.OnSale ? m.SalePrice: m.Price);
Run Code Online (Sandbox Code Playgroud)