forum

home / developersection / forums / dynamic linq where query

Dynamic LINQ where query

Anonymous User 2149 22-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?


c# c# 
Updated on 08-Apr-2019

I am a content writter !


Message
Can you answer this question?

Answer

2 Answers

Liked By