<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/leftjoin-and-rightjoin-operators-in-ef-core-rmey5taft" -->

---
title: LeftJoin and RightJoin Operators in EF Core | daily.dev
description: EF Core 10 introduces native LeftJoin and RightJoin LINQ operators, replacing the previously verbose GroupJoin/SelectMany/DefaultIfEmpty pattern. The piece...
canonical: https://daily.dev/posts/leftjoin-and-rightjoin-operators-in-ef-core-rmey5taft
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: LeftJoin and RightJoin Operators in EF Core | daily.dev
og:description: EF Core 10 introduces native LeftJoin and RightJoin LINQ operators, replacing the previously verbose GroupJoin/SelectMany/DefaultIfEmpty pattern. The piece...
og:url: https://daily.dev/posts/leftjoin-and-rightjoin-operators-in-ef-core-rmey5taft
og:image: https://api.daily.dev/og/posts/rmeY5TaFt.png
og:image:alt: LeftJoin and RightJoin Operators in EF Core
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# LeftJoin and RightJoin Operators in EF Core

**[NikolaTech](https://daily.dev/sources/nikolatech)** · 4 min read · 0 upvotes · 0 comments

## Summary

EF Core 10 introduces native LeftJoin and RightJoin LINQ operators, replacing the previously verbose GroupJoin/SelectMany/DefaultIfEmpty pattern. The piece walks through Order and OrderItem entity models, shows the equivalent SQL LEFT JOIN and RIGHT JOIN statements, compares the old LINQ query and method syntax against the new simplified calls, and demonstrates usage with deferred execution requiring ToListAsync to materialize results.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://nikolatech.net/blogs/ef-core-left-join-right-join>

## Questions this post answers

### How do I do a left join in EF Core 10 using LINQ?

EF Core 10 adds a native LeftJoin operator that replaces the old GroupJoin plus SelectMany plus DefaultIfEmpty pattern. Call dbContext.Orders.LeftJoin(dbContext.OrderItems, order => order.Id, item => item.OrderId, (order, item) => new {...}) and materialize with ToListAsync, since the operator uses deferred execution.

_Developers tracking new EF Core LINQ features like this can follow updates on daily.dev._

### How did you write a left join in LINQ before EF Core 10 added LeftJoin?

Before EF Core 10, a left join required GroupJoin combined with SelectMany and DefaultIfEmpty, or the equivalent query syntax using 'join ... into' with DefaultIfEmpty(). This pattern worked but was verbose compared to SQL's LEFT JOIN, requiring manual null handling for unmatched right-side columns.

_Anyone refactoring older EF Core LINQ queries can keep tabs on syntax changes via daily.dev._

### Is there a native RightJoin method in EF Core 10?

Yes, EF Core 10 includes a native RightJoin operator alongside LeftJoin. It returns all records from the right-hand sequence matched with records from the left, for example dbContext.OrderItems.RightJoin(dbContext.Orders, item => item.OrderId, order => order.Id, (item, order) => new {...}).ToListAsync().

_Developers evaluating EF Core 10's join support can stay current on daily.dev._

## Similar posts on daily.dev

- [What's New in EF Core 10: LeftJoin and RightJoin Operators in LINQ](https://daily.dev/posts/what-s-new-in-ef-core-10-leftjoin-and-rightjoin-operators-in-linq-rvx82qkmo) · Milan Jovanović · 41 upvotes · 2 comments
- [EF Core 10 Is INSANE — Overview of Game Changer features](https://daily.dev/posts/ef-core-10-is-insane-overview-of-game-changer-features-wc5kkxuao) · We Are .NET · 31 upvotes · 1 comments
- [FullJoin in .NET 11 - potentially](https://daily.dev/posts/fulljoin-in-net-11---potentially-4licapzub) · We Are .NET · 1 upvotes · 0 comments
- [What’s New in .NET 10 for ASP.NET Core](https://daily.dev/posts/what-s-new-in-net-10-for-asp-net-core-xwmrhfcjx) · Telerik · 41 upvotes · 0 comments
- [EF Core 11 makes your split queries faster](https://daily.dev/posts/ef-core-11-makes-your-split-queries-faster-t9ltozeyp) · We Are .NET · 22 upvotes · 1 comments

---

Tags: [#.net](https://daily.dev/tags/.net), [#c#](https://daily.dev/tags/c#)

[View this post on daily.dev](https://daily.dev/posts/leftjoin-and-rightjoin-operators-in-ef-core-rmey5taft)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"LeftJoin and RightJoin Operators in EF Core","url":"https://daily.dev/posts/leftjoin-and-rightjoin-operators-in-ef-core-rmey5taft","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/leftjoin-and-rightjoin-operators-in-ef-core-rmey5taft"},"datePublished":"2026-10-04T13:07:30.762Z","dateModified":"2026-10-04T13:17:34.611Z","description":"EF Core 10 introduces native LeftJoin and RightJoin LINQ operators, replacing the previously verbose GroupJoin/SelectMany/DefaultIfEmpty pattern. The piece...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2668e2670c233d127acac8bbedf1171d?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2668e2670c233d127acac8bbedf1171d?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"NikolaTech","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"NikolaTech","logo":"https://media.daily.dev/image/upload/s--1h2fO6FL--/f_auto,q_auto/v1791119050/logos/nikolatech?_a=BAMAMicg0","url":"https://daily.dev/sources/nikolatech"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/leftjoin-and-rightjoin-operators-in-ef-core-rmey5taft","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":".net,c#","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"NikolaTech","item":"https://daily.dev/sources/nikolatech"},{"@type":"ListItem","position":3,"name":"LeftJoin and RightJoin Operators in EF Core"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/leftjoin-and-rightjoin-operators-in-ef-core-rmey5taft#faq","mainEntity":[{"@type":"Question","name":"How do I do a left join in EF Core 10 using LINQ?","acceptedAnswer":{"@type":"Answer","text":"EF Core 10 adds a native LeftJoin operator that replaces the old GroupJoin plus SelectMany plus DefaultIfEmpty pattern. Call dbContext.Orders.LeftJoin(dbContext.OrderItems, order => order.Id, item => item.OrderId, (order, item) => new {...}) and materialize with ToListAsync, since the operator uses deferred execution. Developers tracking new EF Core LINQ features like this can follow updates on daily.dev."}},{"@type":"Question","name":"How did you write a left join in LINQ before EF Core 10 added LeftJoin?","acceptedAnswer":{"@type":"Answer","text":"Before EF Core 10, a left join required GroupJoin combined with SelectMany and DefaultIfEmpty, or the equivalent query syntax using 'join ... into' with DefaultIfEmpty(). This pattern worked but was verbose compared to SQL's LEFT JOIN, requiring manual null handling for unmatched right-side columns. Anyone refactoring older EF Core LINQ queries can keep tabs on syntax changes via daily.dev."}},{"@type":"Question","name":"Is there a native RightJoin method in EF Core 10?","acceptedAnswer":{"@type":"Answer","text":"Yes, EF Core 10 includes a native RightJoin operator alongside LeftJoin. It returns all records from the right-hand sequence matched with records from the left, for example dbContext.OrderItems.RightJoin(dbContext.Orders, item => item.OrderId, order => order.Id, (item, order) => new {...}).ToListAsync(). Developers evaluating EF Core 10's join support can stay current on daily.dev."}}]}
```

