Cómo traducir una declaración SQL a Linq

I don't know how to translate Sql statement with join and subquery to linq..Following is sql statement which i trying to translate ..Please help

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))

preguntado el 02 de febrero de 12 a las 11:02

1 Respuestas

Something like this (where db is the linq data context):

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
        }
    );

Respondido 02 Feb 12, 15:02

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.