Joh*_*ohn 4 c# wpf lambda entity-framework
我想对具有可变搜索条件但在C#代码中的产品执行"动态SQL"搜索.例如,产品定义如下:
class Product
{
public decimal Price { get; set; }
public int Quantity { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的搜索控件有一个价格文本框和一个数量文本框.如果用户指定了某些内容,则应将其包含在搜索中(否则不包括在内).实际上,我的产品有超过2个属性.
如何通过变量条件基于任何此类搜索来一般地构建lambda表达式?
谢谢!
而不是构建lambda表达式,逐位构建查询:
IQueryable<Product> productQuery = db.Products;
if (userHasSpecifiedPrice)
{
productQuery = productQuery.Where(p => p.Price == userSpecifiedPrice)
}
// etc
Run Code Online (Sandbox Code Playgroud)
请注意,在您开始使用结果之前,这不会执行查询.
查询组合是LINQ的关键优势之一.(Where
不幸的是,表达式树构成 - 如果你想要一次调用就需要做的事情- 相当困难.)
归档时间: |
|
查看次数: |
1157 次 |
最近记录: |