【发布时间】:2011-03-30 16:45:03
【问题描述】:
我想对具有可变搜索条件的产品执行等效的“动态 SQL”搜索,但使用 C# 代码。例如,一个产品是这样定义的:
class Product
{
public decimal Price { get; set; }
public int Quantity { get; set; }
}
我的搜索控件有一个价格文本框和一个数量文本框。如果用户指定了某些内容,则应将其包含在搜索中(否则不包含)。实际上,我的产品有不止 2 个属性。
我如何一般地基于任何此类按可变条件进行的搜索来构建 lambda 表达式?
谢谢!
【问题讨论】:
-
有两种可能的方式来实现这一点:1)构建表达式(msdn.microsoft.com/en-us/library/bb397951.aspx); 2)在EntityFramework中使用重载的Where方法,它有字符串作为参数(msdn.microsoft.com/en-us/library/bb338811.aspx)。我不能确切地说哪种方式更适合你,这取决于代码的复杂性。
标签: c# wpf entity-framework lambda