Why use LINQ Join on a simple one-many relationship?

It’s usually a mistake.

@George is correct that your two examples are functionally different in a way which has nothing to do with join vs non-join, however. But you could just as easily write:

var redProducts = context.Category
                         .Where(c => c.Name == "red")
                         .SelectMany(c => c.Products);

…which is functionally identical (but superior from a readability and maintainability POV) to your join example.

Leave a Comment