Posts

EF 11 Split Query

Image
EF 11  Split Query EF 11 has new Split Query functionality which removes a JOIN that split queries have carried since EF 5, and you don't change any code to see the benefits. The database couldn't remove it for you. So the .NET EF code of: var orders = await db . Orders . Where ( o => o . OrderedAt >= from && o . OrderedAt < to ) . Include ( o => o . Customer ) . Include ( o => o . Lines ) . ThenInclude ( l => l . Product ) . Include ( o => o . Payments ) . AsSplitQuery ( ) . AsNoTracking ( ) . ToListAsync ( ) ; transforms to: SELECT s . "Id" , s . "OrderId" , s . "ProductId" , s . "Quantity" , . . . , o . "Id" FROM "Orders" AS o INNER JOIN ( SELECT o0 . "Id" , o0 . "OrderId" , . . . , p . "Name" , p . "Price" , p . "Sku" FROM "OrderLines" AS o0 ...