Is there any performance increase converting search term to lower case before LINQ
Instead of Contains(), use IndexOf() which takes a comparer:

var query = _ctx.Notes.Where(...);        
query = query.Where(a =&gt; a.Comment.IndexOf(searchTerms, StringComparison.OrdinalIgnoreCase) &gt;= 0)