2012-02-24 11 views
2

これは私のクエリです。このクエリのデータで別名またはグループを指定したい

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; 

このクエリの繰り返しデータがあります。今私はこのクエリからの別個のデータだけを必要とします。どのような解決策も認められるだろう。

答えて

2

だけで区別できる機能を使用

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

FYI:私はあなたがそれ以上の説明なしにその 'WHERE'句でdoinのされているかを理解しようとはしません...私は/それは答えのために重要ではないと思います願っています。 –

関連する問題