[英]linq multiple field search
我有 EF Employee 表,其中包含字段 EmpNo、FirstName、LastName、Email。 並創建 LINQ 以搜索所有列並返回現有記錄。 如果一個或多個字段為 null 或根據現有數據清空返回結果。 我寫了代碼:
public static int Search(EmployeeDt emp)
{
using (EF.Model1 context = new EF.Model1)
{
List<string> employee = context.Employees.Where(a => (a.EmpNo == null || a.EmpNo == emp.EmpNo)
&& (b => (b.FirstName == null || b.FirstName == emp.FirstName)
&& (c => (c.LastName == null || c.LastName == emp.LastName)).ToList();
return result;
}
}
但是我嘗試編寫的代碼不正確。 如何為我的案例編寫 LINQ?
謝謝。
您不需要在第二個條件中重用a=>
並將emp.FirstName
與 null 進行比較,而a
變量,將您的代碼更改為
List<string> employee = context.Employees.Where(a => (emp.FirstName == null || a.FirstName == emp.FirstName)
&& (emp.LastName == null || a.LastName == emp.LastName)
&& (emp.EmpNo == null || a.EmpNo == emp.EmpNo)).ToList()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.