Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Building Blazor WebAssembly Applications with gRPC

You're reading from   Building Blazor WebAssembly Applications with gRPC Learn how to implement source generators and gRPC in your Blazor apps for better performance

Arrow left icon
Product type Paperback
Published in Nov 2022
Publisher Packt
ISBN-13 9781804610558
Length 196 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Václav Pekárek Václav Pekárek
Author Profile Icon Václav Pekárek
Václav Pekárek
Arrow right icon
View More author details
Toc

Table of Contents (10) Chapters Close

Preface 1. Chapter 1: Introducing Blazor, gRPC, and Source Generators 2. Chapter 2: Creating a Blazor WebAssembly Application FREE CHAPTER 3. Chapter 3: Creating a Database Using Entity Framework Core 4. Chapter 4: Connecting Client and Server with REST API 5. Chapter 5: Building gRPC Services 6. Chapter 6: Diving Deep into Source Generators 7. Chapter 7: Best Practices for C# and gRPC 8. Index 9. Other Books You May Enjoy

Creating data services

In the real world, we will probably continue with creating an interface as a descriptor of the methods available in our services. However, for the purpose of this book, the approach without interfaces will be better, as it will lower the amount of code needed to run the application, without any drawbacks. If we need to use interfaces in the future, we can generate them using Visual Studio refactoring tools at any time.

The first service class that we will create will be a generic BaseService class that will handle all our database communication:

Services/BaseService.cs

using AutoMapper;
using MediaLibrary.Server.Data;
using MediaLibrary.Shared.Model;
using Microsoft.EntityFrameworkCore;
namespace MediaLibrary.Server.Services;
public abstract class BaseService<TEntity, TModel>
    where TEntity : BaseEntity
    where TModel : IModel, new()
{
    private readonly MediaLibraryDbContext _dbContext...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime