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

Brian Ashcraft 100 Reputation points
2023-03-17T21:11:47.43+00:00

Hello,

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!

Developer technologies | .NET | Entity Framework Core
Developer technologies | ASP.NET | ASP.NET Core
Developer technologies | .NET | Other
Developer technologies | C#
Developer technologies | C#
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.
{count} votes

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.