Hi @MissKiarra,
Firstly, as you said , there is no need to load all the data every time when the user access the blazor web app, you could use the server-side pagination. Like this article shows, using the EF core with paging inside the blazor.
Secondly, you could consider using the Virtualization, this is the built-in virtualization support. Details, you could refer to this article.
Virtualization is a technique for limiting UI rendering to just the parts that are currently visible. For example, virtualization is helpful when the app must render a long list of items and only a subset of items is required to be visible at any given time.
Use the Virtualize<TItem> component when:
- Rendering a set of data items in a loop.
- Most of the items aren't visible due to scrolling.
- The rendered items are the same size.
When the user scrolls to an arbitrary point in the Virtualize<TItem> component's list of items, the component calculates the visible items to show. Unseen items aren't rendered.
Thirdly, you could use cache, for example, you could use redis or else to cache the common data from the database to reduce the load time for querying the database.
If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.