In BlazorTrain episode 16 I show off a nice set of interfaces and managers for implementing a complete data access solution. The controllers use a generic EF Core data manager to access data given an EF entity and dbContext. You can set up an API layer in minutes, rather than hours or days. For more episodes check out https://blazortrain.com