ADO.NET er et sæt komponenter i .NET Framework, som tillader udviklere at få adgang til data og data services. Det er en del af basen af klasser i .NET Framework, som er integreret med andre klasser. ADO.NET understøtter adgang til data, serverløse, uafbrudte dataforbindelser, og muliggør applikationsudvikling af databaser.

System.Data.SqlClient er et bibliotek i ADO.NET, som tillader .NET applikationer at kommunikere med SQL Server databaser. Dette bibliotek indeholder klasser for at oprette forbindelser til databasen, udføre og administrere SQL Server-forespørgsler, og hente resultaterne. I C#, kan du bruge System.Data.SqlClient til at udføre CRUD (Create, Read, Update, Delete) operationer i SQL Server databasen.

Dokumentation på både ADO.NET og System.Data.SqlClient kan findes her https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/sql/ https://learn.microsoft.com/en-us/dotnet/api/system.data.sqlclient?view=dotnet-plat-ext-8.0

Vi skal bruge følgende NuGet pakke til at forbinde til vores database - https://learn.microsoft.com/en-us/dotnet/api/system.data.sqlclient?view=dotnet-plat-ext-8.0

For eksempler på hvad man kan bruge ADO.NET til at lave simple CRUD operationer, kan man se her

https://github.com/MAGS-Template/ADO.NET

Der er både en version som kører i konsollen, men også en måde hvorpå man kan implementere det i Blazor med OOP struktur.

Repositories har en README.md fil som også er her

Opbygning af projekt med ADO.NET

ADONETConsole

Her er en consoleapp, som implementeret meget lavpraktisk. Den bruger ikke et objekt, men bare 2 strenge til at integrerer med databasen. Den indeholder 4 metoder udover main() og Init().

CreateDatabase her tjekker den om ADONET databasen allerede findes på vores databaseserver eller laver den databasen.

InsertData her indsætter den værdierne som er skrevet ind for de 2 strenge inden programmet kører.

CreateTable her laver den vores tabel med en SQL kommando som er gemt som en streng.

ReadData her læser den databasen ud fra SQL kommando som er gemt som en streng og bruger et while loop til at skrive dem ud i konsollen.

BlazorADONET

Her er en Blazor applikation som gør brug af samme database og tabel som er blevet oprettet af vores Consolapp. Derfor skal den anden applikation startes inden Blazor virker.

Under projektet er der 2 forskellige Razor pages som kommunikere med databasen.

CRUD.razor

Under den her side er alt koden inkluderet, der er normalt dårlig praksis, men det er for at vise udviklingen. Det eneste vi har saperet er at vores klasser er inde i et Class Libary kaldet Domain Models. Standart siden er meget simpel med 2 input felter og en knap med en eventhandler. Her indefra er der defineret 4 metoder til at håndtere hver CRUD operation.