Entity Framework

Geschreven door: op zaterdag 24 maart 2018

Leestijd: 3 minuten

Entity framework (EF) is een framework voor dotnet welke developers helpt met de connectie naar een database. Dotnet is een programma dat het functionele deel van de website verzorgd. Een belangrijk onderdeel hiervan is het ophalen van de benodigde gegevens wanneer een gebruiker een pagina opvraagt. Deze gegevens staan meestal opgeslagen in een database. Voor interactie met de database wordt de SQL programmeer taal gebruikt. Dotnet draait echter in C# en kan niet rechtstreeks met de database communiceren. Hiervoor is entity framework bedacht welke het mogelijk maakt om C# code om te zetten naar SQL en de opgehaalde gegevens vervolgens bruikbaar te maken in dotnet.

Mapping

Een database bestaat uit verschillende tabellen waarin gegevens zijn opgeslagen. Dotnet werkt met ‘models’, een soort wrapper waarin gegevens worden bijgehouden. Entity framework zorgt voor een koppeling tussen deze tabellen en models. Gegevens worden uit de tabel gehaald en in een model gestop zodat deze bruikbaar zijn in dotnet. Omgekeerd kan overigens ook. De gegevens die op dat moment in het model staan worden dan opgeslagen in de tabel. Zie figuur 1 en 2 voor een voorbeeld van een tabel.

Figuur 1 - Visuele weergave van een simpele tabel. In deze tabel worden een id (een uniek nummer) en een naam bijgehouden.Figuur 2 - Visuele weergave van gegevens in de tabel van figuur 1.

Figuur 1 - Visuele weergave van een simpele tabel. In deze tabel worden een id (een uniek nummer) en een naam bijgehouden.

Figuur 2 - Visuele weergave van gegevens in de tabel van figuur 1.

 

Het aanmaken van deze tabel is gedaan doormiddel van SQL (figuur 3). Vervolgens kan in C# een model gemaakt worden dat bij deze tabel hoort (figuur 4).


CREATE TABLE [dbo].ExampleTable
(
    [Id] INT NOT NULL PRIMARY KEY, 
    [Name] NVARCHAR(50) NOT NULL
)

Figuur 3 - SQL code voor het aanmaken van de tabel zoals te zien in Figuur 1


public class ExampleTable
{
    public int Id { get; set; }
    public string Name { get; set; }
}

Figuur 4 - C# code voor een model die bij de tabel van figuur 3 hoort

Nadat de tabel en het model zijn aangemaakt is het mogelijk om gegevens op te halen. In Figuur 5 is te zien hoe via SQL gegevens uit een tabel kunnen worden opgehaald. Dit geeft de gegevens terug zoals deze in figuur 2 te zien zijn. In Figuur 6 wordt hetzelfde gedaan maar dan in C#. Doormiddel van Entity Framework wordt deze aanroep omgezet naar SQL die vergelijkbaar is aan Figuur 5. Hierbij wordt het model gevuld met gegevens  welke vervolgens bruikbaar zijn in dotnet. (Technisch gezien wordt er een lijst met models terug gegeven, een per gegevens regel in de Tabel.)


SELECT * FROM ExampleTable

Figuur 5 - SQL code voor het ophalen van alle gegevens uit de ExampleTable tabel


Database.ExampleTable.Tolist();

Figuur 6 - C# code voor het ophalen van alle gegevens uit de ExampleTable

 

Voordat er gegevens opgehaald kunnen worden, moeten deze echter eerst worden opgeslagen in de tabel. Ook dit is mogelijk met een soortgelijke aanroep, zie Figuur 7 en 8.


INSERT INTO ExampleTable (Id, Name)
VALUES (1, ‘Bauke’)

Figuur 7 - SQL voor het toevoegen van een nieuwe gegevens rij aan de ExampleTable


ExampleTable exampleTable = new ExampleTable
{
    Id = 1,
    Name = "Bauke"
};

Database.ExampleTables.Add(exampleTable);
Database.SaveChanges();

Figuur 8 - C# Code voor het aanmaken van een model met gegevens voor de ExampleTable. Vervolgens wordt dit model opgeslagen in de database.

Dit is de basis van Entity framework, het opslaan en ophalen van data. Hierbij bestaan echter nog vele opties zoals het filteren van de gegevens of het samenvoegen van gegevens uit verschillende tabellen. Deze onderwerpen zullen worden behandeld in een later blog.

Zie ook: Data filteren met behulp van Entity Framework


Andere blogartikelen

  • Hoe kan je meer leads genereren EN online verkopen?

    Geschreven door: op woensdag 8 september 2021

    Een website die leads genereert en online verkopen faciliteert? Met behulp van een website met geïntegreerde webshop kunt u direct meer business realiseren. Directe verkopen van standaard producten zo ...

    Bekijk het artikel »
  • Even voorstellen: Nick van Leijden

    Geschreven door: op donderdag 22 juli 2021

    Hoi, volgens mij kennen wij elkaar nog niet! Ik ben Nick van Leijden, een 24 jaar oude User Experience designer en sinds kort werkzaam bij Sigma Solutions als UX developer. Als UX developer is het mij ...

    Bekijk het artikel »
  • Even voorstellen: Renzo Korver

    Geschreven door: op dinsdag 20 juli 2021

    Mijn naam is Renzo Korver, ik ben 24 jaar en ik kom uit Oudkarspel. Eind januari 2021 ben ik bij Sigma Solutions gestart met mijn afstudeerstage voor de opleiding Communicatie aan de Hogeschool van Am ...

    Bekijk het artikel »
Bel 072 5345 888
Open Nieuwsbrief Inschrijving Footer

E-book

Zo wordt uw website een lead generator:
In 3 stappen uw website van visitekaartje naar salesfunnel

Download het E-book Â»

E-book

Zo wordt uw website een lead generator 
In 3 stappen uw website van visitekaartje naar salesfunnel

Download het E-book â€º