使用变量使用lamba表达式的where方法

时间:2020-10-27 21:35:06

标签: c#

该应用程序允许用户按不同类别进行搜索。我想使用开关盒而不是一堆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表达式使用变量而不是列表中的已定义项。

0 个答案:

没有答案
相关问题