How to simulate IN Clause in LINQ queries


When working with the LINQ queries for SQL one of the common queries that we need to run is the select query with IN clause. In SQL IN clause is used to provide more than one value to match in the where clause.

Something like the query below

Select * from Table
where column1 in (‘Value1’, ‘Value2’, ‘Value3’)

To do a similar query in LINQ we can use

var list = from t in table
                where t.column1 = Value1’
                And t.column1 = Value2’
                t.column1 = Value3’
                Select t

 But what if the number of values are not known is design time, coming from another list etc?

 In that case you need to write the LINQ query like this.

List<string> names = new List<string>();

 var list = from t in table
               where names.contains(t.column1)
               select t

You can pass the value of a full table also by querying the table first and then fetching all the values of the table in the list.



Comments have been disabled for this content.