Есть ли более упрощенный способ написать этот запрос. Моя логика - , если коллекция содержит идентификаторы клиентов и код страны, выполните запрос ordey по идентификатору клиента по возрастанию. Если в CustID нет идентификатора, введите заказ по имени клиента. Есть ли лучший способ написать этот запрос? Я не очень хорошо знаком со сложными лямбдами.Есть ли лучший способ написать этот запрос LINQ?
var custIdResult = (from Customer c in CustomerCollection
where (c.CustomerID.ToLower().Contains(param.ToLower()) &&
(countryCodeFilters.Any(item => item.Equals(c.CountryCode))))
select c).ToList();
if (custIdResult.Count > 0)
{
return from Customer c in custIdResult
where (c.CustomerName.ToLower().Contains(param.ToLower()) &&
countryCodeFilters.Any(item => item.Equals(c.CountryCode)))
orderby c.CustomerID ascending
select c;
}
else
{
return from Customer c in CustomerCollection
where (c.CustomerName.ToLower().Contains(param.ToLower()) &&
countryCodeFilters.Any(item => item.Equals(c.CountryCode)))
orderby c.CustomerName descending
select c;
}
Мой мозг был заморожен и должен был подумать об этом так :) Отлично , Большое спасибо. – Spock