因此,我已经设置了一个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检查条件 –