title: Find a better query and LINQ for improvement
body: <p>From the following SQL Server 2008 R2 query I am trying to find:  </p>
  
  <p>customers and his or her orders who has placed certain products in the order details table.  </p>
  
  <p>This product must be matched from a cross reference table.  </p>
  
  <p>The query is also looking into another table (activations) and if it finds any order id in there, then it ignore them. </p>
  
  <p>Here is my query:</p>
  
  <pre><code>Select O.CustomerId, O.OrderId
  from Orders O 
      inner join Customers C
          on O.CustomerId=C.Customerid
  where O.orderid not in
  (
      Select orderid 
      from activations
  )
  and OrderId In
  (
      Select orderid 
      from  Orderdetails
      WHERE EXISTS
      (
          select * 
          from  OrderActivationCrossRef
          Where Orderdetails.productId=OrderActivationCrossRef.productId
      )
  )
  </code></pre>
  
  <p>Can this query be improved and what will be the equivalent for LINQ?<br>
  Thank you in advance. </p>