How to write ‘In’ queries in Ado.Net WCF Data Services? I have tried the following code.
IList<int> orderIds = new List<int> { 59810, 59811, 59812, 59813, 59814 };
var lstorders = _context.Orders
.Where(o => orderIds.Contains(o.customerId))
.ToList<Orders>();
But the above code is not working. I am getting following error.
Test ‘MyTest’ failed: System.NotSupportedException : The
expression (([10007].customerId !=
null) And
value(System.Collections.Generic.List1[System.Int32]).Contains([10007].customerId.Value))1.Execute()
is not supported.
at System.Data.Services.Client.ExpressionWriter.ExpressionToString(DataServiceContext
context, Expression e)
at System.Data.Services.Client.UriWriter.VisitQueryOptionExpression(FilterQueryOptionExpression
fqoe)
at System.Data.Services.Client.UriWriter.VisitQueryOptions(ResourceExpression
re)
at System.Data.Services.Client.UriWriter.VisitResourceSetExpression(ResourceSetExpression
rse)
at System.Data.Services.Client.DataServiceALinqExpressionVisitor.Visit(Expression
exp)
at System.Data.Services.Client.UriWriter.Translate(DataServiceContext
context, Boolean addTrailingParens,
Expression e, Uri& uri, Version&
version)
at System.Data.Services.Client.DataServiceQueryProvider.Translate(Expression
e)
at System.Data.Services.Client.DataServiceQuery
at System.Data.Services.Client.DataServiceQuery1.GetEnumerator()1..ctor(IEnumerable
at System.Collections.Generic.List11
collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable
source)
This might help.
Select entities where ID in int array – WCF Data Services, LINQ