0

So I have setup an DB interceptor as described in this article.

Code that works:

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();

Code that doesn't work:

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();

I don't get any errors but the results are completely off. I get no results with multiple WHEREwhere as JOIN works as expected.

Shyamal Parikh
  • 2,850
  • 3
  • 31
  • 72

1 Answers1

0

Are you 100% certain that Sometable.Name always contains data? You might want to make that line read var queryable2 = db.Sometable.Where(x=> (x.Name ?? "").Contains(ft)); so that there is never a null value.

Justin
  • 481
  • 9
  • 15