在我的实体中,我有一些字段/列,例如" AAA"," BBB"," CCC"等。每个都可以具有" s"或" n"的值。
例如,如果我尝试此操作:
items = items.Where(p => p.aaa == "s");
它将记录将记录限制在具有" s"的AAA(测试,有效)的人。
。我现在需要通过以要搜索的字段名称来通过查询。
var qsintervencao = Request.QueryString["intervencao"];
if (qsintervencao == "" || qsintervencao == null || qsintervencao == "all") {
<a>TEST: </a> qsintervencao not set or set to all
} else {
items = items.Where(p => p.@qsintervencao == "s");
<a>TEST: </a> @qsintervencao
}
QS有效,qsintervencao(和测试)输出所选字段(AAA或BBB),但是没有返回记录。
有什么方法可以将var传递到Where子句?
您可以使用 REFLECTION 像这样动态确定相关属性;
items = items.Where( p => p.GetType().GetProperties().FirstOrDefault(property => property.Name == qsintervencao).GetValue(p, null) == "s");