Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come si fanno più join interni in Linq alle entità

La risposta di Jon funzionerà, ma IMHO l'utilizzo di join in LINQ to Entities è generalmente sbagliato , perché duplica il codice nel tuo modello. Posso riscrivere la query di Jon in un modo molto più semplice in L2E:

var query = from customer in db.Customers
            from order in customer.Orders
            from product in order.Products
            from info in product.Info
            select new
            {
                customer.Name, 
                info.BriefDescription
            }

Questo è circa il 50% della digitazione e lo 0% del codice duplicato. Considera che le tue relazioni sono già state definite nel tuo DB e nel tuo modello. Vuoi davvero duplicarli di nuovo in ogni query che scrivi e interrompere le tue query quando esegui il refactoring del tuo modello?