【发布时间】:2015-10-28 09:29:51
【问题描述】:
我有一个 List<T> 或 Customers,其中包含以下信息:名称、产品、备注、预订日期和未读消息。
我的目标是使用这些字段并使用 AND 运算符过滤客户,但令我困扰的是当有一个字段不用于过滤时。
例如,助理将查找具有特定产品的客户名称。我可以有一个看起来像这样的 LINQ 查询。
var a = Customers.Where(x => x.name.Contains("someone") && x.product.Contains("nike"));
另一个例子是,它会寻找带有特定产品和备注的客户
var a = Customers.Where(x => x.name.Contains("someone") && x.product.Contains("nike") && x.note.Contains("some note"));
另一个例子,它将查找产品和预订日期 var a = Customers.Where(x => x.product.Contains("someone") && x.bookingdate=DateTime.Now);
我希望您注意到我将为这种过滤编写多少不同的查询。
仅限名称、产品、备注、预订日期或未读消息
- 名称和产品
- 名称和备注
- 姓名和预订日期
- 姓名和未读消息
- 产品和说明
- 产品和预订日期
- 等等等等等等等等等等
顺便说一句,我正在编写一个 Windows 平板电脑应用程序,因此无法使用 DataTable 和 LINQ Dyanmics,而我只能编写一个字符串表达式。
我正在寻求如何解决这种过滤的建议和帮助。
【问题讨论】: