【发布时间】:2015-01-15 23:30:01
【问题描述】:
我正在尝试理解 predicate builder,以便将其应用到我正在创建的网络应用程序中。
基本上我有 4 个通过 POST 请求传入的参数,“姓名”、“位置”、“年龄”、“性别”,我必须根据这些参数从数据库表中过滤掉人员。
问题是,每个参数都有可能是 'All'(意思是,如果 name = 'All',这意味着不要按名称过滤人,如果 location = 'All' 不要按位置过滤人ETC...)。
所以我想到的一种方法是让所有人进入一个列表,并有 4 个 if 语句:
if (name != 'All') {
//filter list of people by name string
}
if (location != 'All') {
//filter list of people by location
}
但我不想这样做,我想使用谓词构建器来构建 linq 表达式并且只获取与参数匹配的人员列表,但我不明白谓词构建器在做什么。
This 是我正在查看的网站,但它并没有真正解释发生了什么,我不知道如何将其应用于我的情况
【问题讨论】:
-
链接网站确切地解释了该工具的工作原理,其中充满了如何使用它的示例,甚至涵盖了这个确切的案例。您只需要阅读自己的链接即可获得答案,然后再阅读一些。
-
@Servy 我还是需要澄清一下,否则我不会问,所以不需要说明显而易见的
-
您需要澄清什么?您刚刚说,“向我解释整个事情”,这正是该链接已经在做的事情。如果您对工具的某个特定方面、它的用法、解释等有具体问题,那么您需要询问。你没有那样做。
-
你的怒火结束了吗?
-
您是否愿意在完成研究后提出一个可回答的、范围合理的问题,并在提出问题之前做出合理的努力来尝试解决它,而不是问一个问题,因为您只是懒得去问阅读您要使用的工具的文档?
标签: c# linq predicatebuilder