Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie führen Sie mehrere innere Verknüpfungen in Linq to Entities durch?

Jons Antwort wird funktionieren, aber IMHO die Verwendung von Join in LINQ to Entities ist normalerweise falsch , weil es Code in Ihrem Modell dupliziert. Ich kann Jons Abfrage viel einfacher in L2E umschreiben:

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
            }

Das sind etwa 50 % der Eingabe und 0 % des duplizierten Codes. Bedenken Sie, dass Ihre Beziehungen bereits in Ihrer DB und in Ihrem Modell definiert wurden. Möchten Sie sie wirklich in jeder von Ihnen geschriebenen Abfrage duplizieren und Ihre Abfragen beschädigen, wenn Sie Ihr Modell umgestalten?