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,988
  • 4
  • 37
  • 78

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
  • 541
  • 7
  • 15