In my application, I have Property Setting which is of type String.Collections.Specialized.StringCollection. It contains a list of customer codes such as MSFT, SOF, IBM etc. I’m trying to use this in a Linq-to-Entities query in the where clause:
var ShippedOrders = dbcontext.Orders
.Where(s=>(s.Status.Description.Equals("Shipped") && !Properties.Settings.Default.CustomersToExclude.Contains(s.CustomerCode)));
This fails as Contains is not recognized by Linq-to-Entities with a message similar to:
“LINQ-to-Entities does not recognize the method Contains….”
How do I revise the code above to avoid this error?
Since your question is tagged as C# 4 use a
List<string>instead (StringCollectionis ancient) and your query should work. Also you should resolve your list reference outside your query:Edit:
Just copy your customers to an array and use that: