2012-02-02 4 views
0

Я не знаю, как перевести Sql заявление с присоединиться и подзапрос к linq..Following является SQL заявление, которое я пытаюсь перевести ..Please помочьКак перевести SQL заявление Linq

Select product.Name from product where Product.Id in(select ProductId from 
SaleDetail s join Sale s1 on s.SaleId=s1.Id where s.SaleId in(select Id from Sale where sale.CustomerId=17264)) 

ответ

2

Что-то вроде это (где db - контекст данных linq):

var result= (
     from p in db.Product 
     where 
      (
       from s in db.SaleDetail 
       join se in db.Sale 
        on s.SaleId equals se.Id 
       where 
        (
         from s2 in db.Sale 
         where s2.CustomerId==17264 
         select s2.Id 
        ).Contains(s.SaleId) 
       select s.ProductId 
      ).Contains(p.Id) 
     select new 
     { 
      p.Name 
     } 
    );