因此,我已經設置了一個DB攔截器,如此article中所述。EF6:FullText搜索不能與多個WHERE
的作品代碼:
var ft = FtsInterceptor.Fts('something');
var queryable1 = db.Sometable.Where(x=> x.Id > 30);
var queryable2 = db.Sometable.Where(x=> x.Name != null && x.Name.Contains(ft));
var final = (from q1 in queryable1 join q2 in queryable2 on q1.Id equals q2.Id select q1).ToList();
碼不起作用:
var ft = FtsInterceptor.Fts('something');
var queryable = db.Sometable.Where(x=> x.Id > 30);
queryable = queryable.Where(x=> x.Name != null && x.Name.Contains(ft));
var final = queryable.ToList();
我沒有得到任何錯誤,但結果是完全關閉。我沒有得到多個WHERE
的結果,其中JOIN
按預期工作。
您確定Sometable.Name中的內容嗎?我想,這將是更好的檢查如果它是空或空 – Egorikas
我更新了問題,添加NULL檢查條件 –