CRUD with Blazor in .NET 8 🔥 Video & Code Inside 🚀


Hey Reader,

This week we're diving deep into Blazor via .NET 8, focusing on mastering CRUD operations using the fresh render modes—Auto, Server, WebAssembly, and even no render mode for static server-side rendering via stream rendering. Yep, that's a mouthful of new capabilities for you!

CRUD with Blazor in .NET 8 Video 🔥

No sweat, I've got you sorted. This week's video walks you through each render mode and demonstrates how to flawlessly execute CRUD operations, complete with persistence via Entity Framework and SQL Server Express.

video preview

Key Code Snippets 🖥️

If you're more of a code-first person, here's a sneak peek at the essential code sections. With the latest Blazor Web App template in Visual Studio 2022 Preview, selecting Auto or WebAssembly render modes gifts you two projects—Server and Client. The Server project comes fully equipped for Web API tasks, including the ability to add API controllers, which is vital for using server-side services in your client project.

Say you've crafted a simple game library entity:

Along with the requisite Entity Framework boilerplate:

Watch Your Steps!

Have you set all this up in the Server project? Ah, but what if you need to access your Game Entity or services from the Client project? To solve this, I shifted everything to a separate Class Library:

You'll notice that this setup closely resembles the older Blazor WebAssembly ASP.NET Core Hosted template from .NET 7.

The Nitty-Gritty

To call server logic from your client app, web service calls are still the way to go. Dependency Injection comes to the rescue, allowing us to implement the IGameService interface differently for the client:

Remember to register your GameService and HttpClient on both client and server ends.

Client:

Server:

And, of course, don't forget the new controller on the server:

I get it; this might feel overwhelming at first. But trust me, once you get your bearings, the new .NET 8 features will feel like second nature. I'm also working on a video that compares the .NET 7 and .NET 8 versions of a Blazor WebAssembly app. So stay tuned!

To grab the complete code, watch the video or head to my Patreon page for the repo download.


💌 Got questions or topics you're curious about? Just hit 'reply'—your input is priceless. A massive shoutout to everyone for making this community what it is! 🙌 Special thanks to my Patrons—your support fuels this newsletter and my YouTube channel.

Until our next coding journey, stay well and happy coding! 💻

Patrick


.NET Web Academy

Become a .NET & Blazor expert with weekly tutorials featuring best practices and the latest improvements, right in your inbox.

Read more from .NET Web Academy

Hey friend, The other day I found a bug in StackBuddy, an app I built. Normally I'd open it, file a ticket for myself, and move on. Instead I turned to my AI and just said, "log a dev ticket for that." And it did. A real ticket in my own bug tracker. Title, description, priority, the whole thing. I never opened the actual app. The thing that makes that possible is called MCP, Model Context Protocol. Ignore the name for a second. Out of the box, an AI can only talk. It writes and explains, but...

Hey friend, I don't really write code by hand anymore. I describe what I want, and the AI builds it. For a while, that scared me. If I am not writing the code, does everything I spent years learning still matter? Does my stack matter at all? If you are a developer right now, I would bet you have felt some version of that too. Here is where I landed. It flipped the whole thing for me. The other day I was debugging a slow app, talking it through with the AI. Would WebAssembly help here? Is it...

video preview

Hey friend, Lately I told an AI I’d see it in 7 hours, and went to bed. It was done in 2. Across two different projects. There’s this thing people call the night shift. You give an AI agent a pile of work, start it in a loop, and go to sleep while it keeps working on your real codebase. I tried it a month ago and could not make it work, the model just fell apart. But with the newest models, it works now. And the surprising part wasn’t that it ran all night. It’s that it ran out of work before...