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

  • Even voorstellen: Kevin Keijner

    Geschreven door: op vrijdag 12 februari 2021

    Sinds eind januari ben ik bij Sigma Solutions in dienst als Digital Consultant. Voor mij betekende dit niet alleen een nieuwe functie maar ook werken in een compleet nieuwe sector. Logischerwijs zorgt ...

    Bekijk het artikel »
  • B2B Marketing & Sales trends in onzekere tijden

    Geschreven door: op donderdag 11 februari 2021

    Wij leveren in een onzekere tijd door COVID-19. Dit heeft impact op de B2B aankoopreis, vooral omdat persoonlijk contact een belangrijke rol speelt. Wat kunnen marketeers en verkopers dan doen in dez ...

    Bekijk het artikel »
  • Delegates in C#

    Geschreven door: op donderdag 11 februari 2021

    Soms willen we bij het oplossen van een probleem in code een bepaalde functie uitvoeren op basis van een voorwaarde of situatie. Je kan dan via if-then-else of een switch bepalen welke functie je uitv ...

    Bekijk het artikel »
Bel 072 5345 888
Meer dan 40 bedrijven vertrouwen op ons
Bekijk al onze tevreden klanten ›
Op de hoogte blijven?

Meld u aan voor de gratis nieuwsbrief om op de hoogte te blijven van onze activiteiten

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 â€º