LINQ To SQL exception: Local sequence cannot be used in LINQ to SQL implementation of query operators except the Contains operator

后端 未结 4 898
一向
一向 2020-11-30 11:05

Consider this LINQ To SQL query. It\'s intention is to take a string[] of search terms and apply the terms to a bunch of different fields on the SQL table:

s         


        
4条回答
  •  一向
    一向 (楼主)
    2020-11-30 11:35

    Replace the usages of Any with Contains in your query. eg:

    searchTerms.Contains(c.Email)
    

    This should get the result you're looking for. It looks backwards, but it's correct- it'll generate an IN operator for each field inside a Contains with all the elements in searchTerms.

    The AddressLine1 part won't work this way- you'll have to loop-generate the comparisons yourself with

    c.addressLine1.Contains(...)
    

    Something like PredicateBuilder can be helpful for this.

提交回复
热议问题