Avatar billede unknown_someone Juniormester
15. oktober 2008 - 13:18 Der er 1 kommentar og
1 løsning

Entity Framework - update ikke insert, best practice

Hvis jeg laver et nyt objekt og gemmer sker der en insert. Dette er forventet for det er jo et helt nyt objekt.

Hvis jeg hiver et objekt ud fra databasen, manipulerer det og gemmer det så sker der en update op imod databasen. Dette er også helt forventet.

Hvis jeg indsætter mit objekt i fx et detailsview på en hjemmeside og giver mulighed for at redigere objektet så sker der en insert i stedet for en update og det er ikke som forventet. Det er forståeligt nok et eller andet sted for mit oprindelige objekt er "dødt" imellem sideskift og det objekt jeg gemmer til databasen er et nyoprettet efter submit. Selv hvis jeg specifikt indsætter ID fra den oprindelige post til mit nye objekt sker der en insert og ikke update.

Jeg har nogle idéer til hvordan problemet kan løses (fx hente objektet fra databasen igen og manipulerer det ved submit) men uanset hvilken idé jeg kan komme på ser de ikke så optimale ud idet det fx kræver et (unødigt) databasekald eller lignende. Hvad er best practice til dette?
Avatar billede skwat Praktikant
22. oktober 2008 - 01:10 #1
Har lige netop selv sloges med noget ligende med nHibernate
Den umiddelbare løsning var at hente det persistente objekt igen og ændre det.

Men har lige læst lidt omkring hvordan .merge fungere, måske du har noget i samme dur.
Dette blot en smalltalk kommentar ;)
Avatar billede unknown_someone Juniormester
25. oktober 2010 - 16:16 #2
jeg lukker her - det eneste rigtige ser ud til at være at hente ud fra databasen igen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester