Entity Framework - AddOrUpdate

Geschreven door: op dinsdag 26 juni 2018

Leestijd:

Gegevens opslaan of bewerken is een veel voorkomende taak op een website. Vooral bij het beheren van de website dit bijna dagelijks voor. Voor een gebruiker van het beheer lijken deze twee acties erg op elkaar. Voor het aanmaken van bijvoorbeeld een product dient een kort formulier ingevuld te worden met een aantal gegevens van het product. Bij het bewerken wordt hetzelfde formulier getoond met alle gegevens al ingevuld. Hier kunnen wijzigingen in worden gemaakt die vervolgens weer worden opgeslagen.

Binnen Entity Framework zijn dit echter twee verschillende bewerkingen. Met de ‘Add’ functie kan een rij worden toegevoegd aan een tabel met nieuwe gegevens. Via ‘Update’ kan een bestaande rij worden bijgewerkt.

Overigens is het mogelijk om deze beide stappen samen te voegen. Hiervoor is de AddOrUpdate functie. Hiermee wordt in de database gecontroleerd of de rij al bestaat en zo niet, dan wordt deze eerst aangemaakt.

Handig of onhandig?

Hoewel de AddOrUpdate functie in eerste instantie hiermee erg handig lijkt blijkt dit achter de schermen toch net iets anders te liggen. Deze functie is bedoeld voor migraties, het aanpassen van een tabel waarbij gegevens van één tabel worden overgezet naar een andere tabel.

Bij de AddOrUpdate functie worden taken namelijk eigenlijk dubbel uitgevoerd. Voordat de gegevens worden opgeslagen, wordt eerst het origineel opgehaald om te vergelijken of deze overeen komt met de nieuw opgeslagen gegevens. Vervolgens worden alle gegevens doorgestuurd naar de database om deze overnieuw op te slaan. Hier worden dus twee connecties gemaakt met de database wat ook in één keer had gekund.

Verder wordt er ook geen rekening gehouden met welke velden zijn aangepast. Alle velden worden overschreven. Ook als er niets in een veld is ingevuld.

Conclusie

Hoewel de AddOrUpdate in een aantal scenario’s handig kan zijn, is het over het algemeen beter om de losse Add en Update functies te gebruiken. Dit geeft meer controle over hoe en wat er wordt opgeslagen.


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 ›