簡體   English   中英

使用 LINQ to EF 進行高級搜索

[英]Advanced search with LINQ to EF

我最多有 4 個值:字符串 firstName、字符串 lastName、字符串 ssn、DateTime dateOfInjury。 用戶可以輸入這些中的任何一個或任意組合。 如果他們輸入多個,我想使用 AND 返回結果。 例如,如果 firstName 匹配(如果這是他們輸入的全部內容),或者如果 firstName AND lastName 匹配,如果他們同時輸入,等等。 使用 LINQ 執行此操作的最佳方法是什么? 我希望有一些比巨大的 switch 語句更優雅的東西。

我計划動態構建 where 子句,但似乎這行不通: 在 LINQ to EF 查詢中構建動態 where 子句

只需建立您的查詢。 如果您有一系列 Where 調用,則這些調用是 AND 運算的。

IQueryable<Customer> query = source.Customers;

if (firstName != null)
{
  query = query.Where(c => c.FirstName == firstName);
}
if (lastName != null)
{
  query = query.Where(c => c.LastName == lastName);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM