When using 'Contains' in Linq query:
var camlQuery = new CamlQuery();
var listItems = list.GetItems(camlQuery);
var itemQuery = listItems.Where(i => i.FieldValuesAsText["Title"].Contains("van")).Include(
item => item["ID"],
item => item["Title"]);
var itemsFound = clientContext.LoadQuery(itemQuery);
clientContext.ExecuteQuery();
I get an error like: "The 'Contains' member cannot be used in the expression."
But when using a CamlQuery like:
var camlQuery = new CamlQuery();
camlQuery.ViewXml = @"
<View>
<ViewFields>
<FieldRef Name='ID'/>
<FieldRef Name='Title'/>
</ViewFields>
<Query>
<Where>
<Contains>
<FieldRef Name='Title' />
<Value Type='Text'>van</Value>
</Contains>
</Where>
</Query>
<RowLimit>10</RowLimit>
</View>";
clientContext.Load(listItems);
clientContext.ExecuteQuery();
It works fine.
What is the explanation for this?