Linq IN Оператор - PullRequest
       1

Linq IN Оператор

27 голосов
/ 08 ноября 2011

Я пытался найти это, но не смог найти примеров, подходящих для моей ситуации.

У меня есть этот метод для возврата клиентов.Как я могу использовать строковый массив кодов для его фильтрации?Содержит не работает для меня.

public static List<Customer> GetCustomers(string[] customerCodesArray)
{
    using (busDataContext g = new busDataContext())
    {
        return g.Customers.Where(
            x => x.customerCode.Contains(customerCodesArray)).ToList();
    }
}

Ответы [ 5 ]

39 голосов
/ 08 ноября 2011

Попробуйте следующий код:

return g.Customers.Where(x => customerCodesArray.Contains(x.customerCode)).ToList(); 
21 голосов
/ 08 ноября 2011

Вы в обратном направлении:

return g.Customers.Where(x => customerCodesArray.Contains(x.customerCode)).ToList();
11 голосов
/ 08 ноября 2011

Я думаю, вам нужно изменить выражение Contains, потому что вы хотите увидеть, содержит ли массив код клиента, а не наоборот.

Попробуйте:

5 голосов
/ 08 ноября 2011

Попробуйте

return g.Customers.Where(x=>customerCodesArray.Contains(x.CustomerCode)).ToList();
3 голосов
/ 08 ноября 2011

Я думаю, это то, что вы хотите

    return g.Customers.Where(x => customerCodesArray.Contains(x.customerCode)).ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...