0
我有一個相當複雜的查詢,我用LIKE語句過濾結果。下面是該查詢:如何改變最終表達式中2個ESQL where子句的條件?
var qsFilter = entities.QueryStatements.Where("it.Statement LIKE @searchTerm",
new ObjectParameter("searchTerm", searchTerm));
var qtFilter = entities.QueryTables.Where("it.TableNames LIKE @searchTables",
new ObjectParameter("searchTables", searchTerm));
然後:
var tables = from t in entities.TraceLines
join qs in qsFilter on t.QueryStatementHash equals qs.QueryStatementHash
join qt in qtFilter on qs.QueryTableHash equals qt.QueryTableHash
where t.CallTypeId == 64
orderby t.Sequence
select new
{
Name = qt.TableNames
};
的問題是,在最後的查詢,它生成AND子句爲2 LIKE過濾器:
WHERE ([Filter1].[Statement] LIKE @searchTerm) AND
([Extent3].[TableNames] LIKE @searchTables)
如何我得到那是一個或子句?
注意:如果你想知道爲什麼我在這裏使用ESQL,正是因爲這樣的:How to use SQL 'LIKE' with LINQ to Entities?
我不知道什麼「它」是的那麼多。沒有它,我知道它不起作用。如果您查看調試器,它似乎是應用於查詢中當前正在引用的表的名稱。 – esac 2010-07-02 02:28:02