0
包含給定的字符串是這樣的:動態查詢實體框架
var filterOptions = "First Bank";
和具有承授列和出讓人列的表,如何創建與EF一個查詢,將產生以下WHERE子句:
... where (Grantor like '%First%' and Grantor like '%Bank%') or (Grantee like '%First%' and Grantee like '%Bank%')
記住filterOptions是通過在PARM,所以它可以很容易地包含3名或4個字,而不是隻有兩個......在這種情況下,每一列都需要額外的像條款。
如果不是因爲這樣做的或部分,我會做以下(這將有助於給的什麼,我試圖完成一個更好的主意。
foreach(var word in filterOptions)
{
var text = "%" + word + "%";
query = query.Where(r => SqlMethods.Like(r.Grantee,text));
}
就像我說的,它的試圖與投我要循環的另一列添加或部分
你試過Contains? – Pawel
是的,但它的確和SqlMethods.Like()一樣。我可以將上面的代碼改爲:query = query.Where(r => r.Grantee.Contains(word))。但是,這並沒有幫助OR問題...我仍然沒有辦法將授予者和受讓人與相同的查詢進行OR操作。 – RHarris