ProudCloud Weekly #2


Nick Proud

Microsoft MVP, CTO @ nexbotix.ai and Author at dometrain.com

September 13th, 2025

✉️ ProudCloud Weekly #2

Databases. We're updating them, inserting, deleting, querying and modifying them all the time. Queries stand out as one of the most common operations for developers building customer-facing apps, and for C# developers in particular, a significant portion of the community are abstracting the SQL layer away with Entity Framework.

But just because we're using an abstraction like Entity Framework, that doesn't mean we don't have to consider SQL optimisation. For that reason, it is sometimes necessary to view the query plans initiated by SQL, even though you may not be actually writing any SQL.

This really matters. It matters because your LINQ queries in Entity Framework have a direct impact on user experience. If your query takes too many seconds to complete, it could be the difference between retaining a user, or churning. Enough churn means businesses have to downsize. It may sound dramatic, but when we think of it this way, the optimisation of your queries has an (indirect) connection to your career prospects.

Developers often ignore this point. They think that because they are at a higher level of abstraction, that they don't need to worry about query plans. They are destined to write code that is mediocre at best.

Mediocre developers ignore query plans—great developers master them.

A Visual Studio extension is now available to allows you to review query-plans from Entity Framework code, with a focus on ensuring your LINQ queries are as efficient as possible. This fantastic extension adds the ability to view debugging info for IQueryable

Obviously, if you don't know how to read a Query Plan, this is useless to you, but only in the sense that you can't optimise straight away. It's beneficial to you because it prompts you to learn something new. Learn how query plans work, and you'll have a much better relationship with the SQL you're indirectly writing from a distance.

Getting started is really simple. You install the EFCore.Visualizer extension into Visual Studio, and then you should be able to open the visualizer on any IQueryable

Microsoft's blog post provides more detail: EFCore.Visualizer - View Entity Framework Core query plan inside Visual Studio - .NET Blog

Let me step you through an example

That's it for this issue. I hope you found the content useful. Stay tuned for more updates, and don't forget to stay in touch with me on LinkedIn. My DMs are open.

Keep learning and growing,

Nick Proud

ProudCloud.dev

Stuff you should deffo check out 😁

The Proud Cloud

Subscribe for deep dives into .NET development, intelligent automation, and practical AI tips. Each edition delivers hands-on insights, industry news, and coding techniques to help developers and tech leaders stay ahead

Read more from The Proud Cloud

Nick Proud Microsoft MVP, CTO @ nexbotix.ai and Author at dometrain.com October 4th, 2025 ✉️ ProudCloud Weekly #5 When C# needs low level interactions, P/Invoke saves the day If you’ve ever hit the limits of what the .NET framework or .NET libraries provide out of the box, Platform Invocation Services (P/Invoke) is your bridge to native code. P/Invoke lets you call unmanaged functions from DLLs (like Windows APIs written in C or C++) directly from your C# code. For example, if you need access...

Nick Proud Microsoft MVP, CTO @ nexbotix.ai and Author at dometrain.com September 27th, 2025 ✉️ ProudCloud Weekly #4 Is C# like python now? .NET brings a significant change to the way we can execute C# projects. With the new File-Based Apps feature, developers can now ditch the .csproj files if they wish, opting instead for running a single .cs file from the CLI. This change makes C# more lightweight and approachable, especially for quick prototypes, scripts, or learning scenarios. You no...

Nick Proud Microsoft MVP, CTO @ nexbotix.ai and Author at dometrain.com September 20th, 2025 ✉️ ProudCloud Weekly #3 Complacency is easy. With any language, it's easy to become set in your ways and to allow the pressure of shipping fast influence you into cutting corners. I know, because I've done it. In this issue I'm going to run through some common mistakes C# developers make all the time. If you aren't falling into any of these holes, congrats. This issue probably wasn't for you! But I do...