forum

Home / DeveloperSection / Forums / Dynamic LINQ where query

Dynamic LINQ where query

Anonymous User190722-Aug-2014

I'm using dynamic LINQ to create a query from given columns the user selects for a given search.

var counter = 0;

var predicate = string.Empty;

foreach(var field in selectedFields)

{

    predicate += field + ".Contains(@" + counter + ") ||";

    // logical OR, without it the SQL generates AND

}   

predicate = predicate.Remove(predicate.LastIndexOf("||", 2));

query = query.Where(predicate, searchvalues);

This code generates the given SQL query

(([t0].[Field1] LIKE 'searchstring') OR ([t0].[Field2] LIKE 'searchstring'))

Which is correct, albeit what i want to do is be able to use wildcards, when i try to enter let's say, a percent character, the SQL generated is

(([t0].[field1] LIKE 'searchstring' ESCAPE '~') OR ([t0].[field2] LIKE 'searchstring' ESCAPE '~'))

Is there a way to use wildcards in the searchstring while using dynamic L2S?


Updated on 08-Apr-2019
I am a content writter !

Can you answer this question?


Answer

2 Answers

Liked By