该应用程序允许用户按不同类别进行搜索。我想使用开关盒而不是一堆ifs。 lamba表达式不接受变量,因为invoice_Master列表中不存在该变量。有没有一种方法可以使用将等于表中变量的变量?注意-这是使用实体框架
此代码有效
string searchValue = "";
switch (searchBy)
{
case "PONumber":
searchValue = "INVCE_31";
break;
case "SerialNumber":
searchValue = "ORDID_31";
break;
default:
return PartialView("InvoiceList", invoice_Master);
}
var results = invoice_Master.Where(m => m.INVCE_31== search).ToList();
return PartialView("InvoiceList", results);
但这就是我想要的
string searchValue = "";
switch (searchBy)
{
case "PONumber":
searchValue = "INVCE_31";
break;
case "SerialNumber":
searchValue = "ORDID_31";
break;
default:
return PartialView("InvoiceList", invoice_Master);
}
var results = invoice_Master.Where(m => m.searchValue == search).ToList();
return PartialView("InvoiceList", results);
两者之间的唯一区别是第二行到第二行,其中lamba表达式使用变量而不是列表中的已定义项。