Я хочу отдельное или группировать по данным этого запроса - PullRequest
2 голосов
/ 24 февраля 2012

это мой запрос.

var query = from o in context.Orders
            join c in context.Customers on
                o.CustomerId equals c.CustomerId  
            join ca in context.CustomerAttributes on
                o.CustomerId equals ca.CustomerId
            where (String.IsNullOrEmpty(customerEmail) ||
                      c.Email.Contains(customerEmail)) &&
                  (String.IsNullOrEmpty(firstName) ||
                      (ca.Key.Contains("FirstName") &&
                       ca.Value.Contains(firstName))) &&
                  (String.IsNullOrEmpty(lastName) ||
                      (ca.Key.Contains("LastName") &&
                      ca.Value.Contains(lastName))) &&
                  (String.IsNullOrEmpty(phoneNumber) ||
                      (ca.Key.Contains("PhoneNumber") && 
                      ca.Value.Contains(phoneNumber))) &&
                  (!startTime.HasValue || 
                      startTime.Value <= o.CreatedOn) &&
                  (!endTime.HasValue ||
                      endTime.Value >= o.CreatedOn) &&
                  (!orderStatusId.HasValue ||
                      orderStatusId == o.OrderStatusId) &&
                  (!paymentStatusId.HasValue ||
                      paymentStatusId.Value == o.PaymentStatusId) &&
                  (!shippingStatusId.HasValue ||
                      shippingStatusId.Value == o.ShippingStatusId) &&
                  !o.Deleted
            orderby o.CreatedOn descending
            select o;

var orders = query.ToList();
return orders;

Я получил данные повторения из этого запроса. Теперь я хочу только отдельные данные из этого запроса. Любое решение было бы заметно.

1 Ответ

2 голосов
/ 24 февраля 2012

Просто используйте отличительную функцию

var orders = query.Distinct().ToList();
...