我正在寫有一個搜索欄,允許用戶搜索人員通過他們的名字申請 - 名字,中間名和姓EF6:有效的方法來搜索名稱在一個IQueryable
搜索輸入可以是名字或中間名或姓。或者First和name的組合;中間名等等。
或全名。
現在我這樣做:
var result = People.Where(e => e.FirstName.ToLower().Contains(model.Name.ToLower()) || e.LastName.ToLower().Contains(model.Name.ToLower()) || e.MiddleName.ToLower().Contains(model.Name.ToLower()));
我不知道這是最有效的方式還是可以改進?
該搜索輸入只能成爲中間名,那麼你爲什麼要將它與Firstname和你的where子句中的姓氏進行比較? – Nirman
不只是中間名,它可以是首字母,中間名和姓氏的組合或全名。我更新了這個問題。 – capiono
看看http://www.albahari.com/nutshell/predicatebuilder.aspx –