Managing UI CRUD Operations With High Number Of Parent/Child Entities

Brian Ashcraft 100 Reputation points


I am creating a Knowledge Base application using .Net Core 6, Razor Pages (Non-MVC), Entity Framework Core and SQL Server.

I have created a Repository Pattern and am using Unit of Work, in an N-Tier architecture.

Each Knowledge Base "Article" consists of some baseline data including Id, Description, Narrative, etc.

In addition to the baseline data, each "Article" can be associated with one or more Documents (e.g. PDFs), one or more Hashtags, YouTube Playlists, and other misc items stored in the SQL Server Database.

As the application matures there will be potentially hundreds of Documents stored in the database, as well as numerous Hashtags, YouTube Playlists, and other associated items.

I am trying to determine how best to create my UI to facilitate handling the large relationships between the Article and its associated entities.

What I don't want to do (or so it seems) is to populate a SelectList with several hundred documents and require the user creating the Article to scroll through the entire list. So with that in mind I would need some sort of filtering.

I would like to keep the Article creation process confined to a single webpage, that allows the user creating the Article to select all of the necessary Documents, Hashtags, YouTube Playlists, etc, then hit a "Create" button to add the Article entity to the database.

I have no idea what method "Best Practices" would suggest I use to create this process.

Any suggestions (with examples!!) would be most welcome.

Reminder, this is a non-MVC web application.

Thanks in advance for your time!

Entity Framework Core
Entity Framework Core
A lightweight, extensible, open-source, and cross-platform version of the Entity Framework data access technology.
694 questions
Microsoft Technologies based on the .NET software framework.
3,344 questions
A set of technologies in the .NET Framework for building web applications and XML web services.
4,138 questions
An object-oriented and type-safe programming language that has its roots in the C family of languages and includes support for component-oriented programming.
10,199 questions
{count} votes