Entity Framework

Geschreven door: op zaterdag 24 maart 2018

Leestijd:

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

  • Plugins maken in jQuery

    Geschreven door: op vrijdag 29 juni 2018

    Door zelf code die je vaak gebruikt om te zetten naar jQuery-plugins, zorg je ervoor dat je deze code eenvoudig kan toepassen in andere projecten en je je kan bezighouden met het maken van nieuwe func ...

    Bekijk het artikel »
  • Dependency injection

    Geschreven door: op dinsdag 26 juni 2018

    Vanuit een programmeer standpunt gezien is indeling van code een van de belangrijkste aspecten van het programmeren. Een rommelige werkomgeving maakt het lastig om te vinden wat je nodig hebt. Het opr ...

    Bekijk het artikel »
  • Databasetypen

    Geschreven door: op dinsdag 26 juni 2018

    Bij de meeste websites behoort een database waarin gegevens van de website worden opgeslagen. Er zijn verschillende manieren waarop deze gegevens kunnen worden bijgehouden. De meest gebruikte methode ...

    Bekijk het artikel »
Bel 072 5345 888
Meer dan 40 bedrijven vertrouwen op ons
Allrig is de alles in een leverancier binnen de energie-industrie
Aliancys is een toonaangevend wereldwijd bedrijf actief in de verkoop van kwaliteitsharsen
ERIKS is een toonaangevende en innovatieve leverancier aan de procesindustrie en aan machinebouwers, die zowel de rol van specialist als die van brede MRO-leverancier vervult
Industrieel dienstverlener Heinen & Hopman Engineering uit Bunschoten is dé wereldwijde specialist op het gebied van klimaatbeheersing
Handicare is een internationale organisatie die ouderen helpt om hun dagelijks leven gemakkelijker te maken door het produceren van hoogwaardige trapliften
Onze Middelen en Technologieën
microsoft silver partner
Adobe partner
fd gazellen 2017
Google analytics
partners-logo.jpg

mockup_tablet.png

Bedient u uw (potentiële) klant optimaal binnen het online koopproces? 

Vul de Online Scorecard in ›