Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment faire plusieurs jointures internes dans Linq to Entities

La réponse de Jon fonctionnera, mais à mon humble avis l'utilisation de la jointure dans LINQ to Entities est généralement erronée , car il duplique le code dans votre modèle. Je peux réécrire la requête de Jon de manière beaucoup plus simple en 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
            }

Cela représente environ 50 % de la saisie et 0 % du code dupliqué. Considérez que vos relations ont déjà été définies dans votre base de données et dans votre modèle. Voulez-vous vraiment les dupliquer à nouveau dans chaque requête que vous écrivez et casser vos requêtes lorsque vous refactorisez votre modèle ?