I need to write something that would give the same result as:
var result = collection.Where( o => o.Name.IndexOf( \"some_string2\" ) != -1 || o.Name.Index
If you want to check whether o.Name contains some string from the stringsToCheck, I would suggest to use LinqKit and build the query with PredicateBuilder.
var predicate = PredicateBuilder.False();
var stringsToCheck = someCommaSeparatedStrings.ToLower().Split( ',' ).ToList();
foreach(var str in stringsToCheck)
{
var tmp = str;
predicate = predicate.Or(o=> o.Name.IndexOf(tmp) != -1);
}
resultQuery = collection.Where(predicate);