Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you do Multiple Inner Joins in Linq to Entities

I have already searched through SO and could not fins a workable solution for this. I am just trying to figure what is the syntax for multiple inner joins in Linq to Entities. Thanks

like image 517
user161433 Avatar asked Sep 18 '09 07:09

user161433


1 Answers

Jon's answer will work, but IMHO using join in LINQ to Entities is usually wrong, because it duplicates code in your model. I can rewrite Jon's query in a much simpler way 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
            }

That's about 50% of the typing and 0% of the duplicated code. Consider that your relationships have already been defined in your DB and in your model. Do you really want to duplicate them again in every query you write, and break your queries when you refactor your model?

like image 131
Craig Stuntz Avatar answered Oct 13 '22 10:10

Craig Stuntz