Desidero essere in grado di determinare se sono presenti dati non salvati in un contesto di entità. Ho capito come usare ObjectStateManager per controllare gli stati delle entità esistenti, ma ci sono due problemi con questo.Come sapere se entità nel contesto sono sporche con .Net Entity Framework 4.0
- Preferirei una singola funzione da chiamare per vedere se eventuali entità non sono salvate invece di eseguire il ciclo nonostante tutte le entità nel contesto.
- Non riesco a capire come rilevare le entità che ho aggiunto. Questo mi suggerisce che non comprendo pienamente come funziona il contesto dell'entità. Ad esempio, se ho ObjectSet myContext.Employees e aggiungo un nuovo dipendente a questo set (con .AddObject), non vedo la nuova entità quando guardo l'ObjectSet e non vedo il .Count aumentare. Tuttavia, quando faccio un context.SaveChanges(), la mia nuova entità è persistente ... eh?
sono stato in grado di trovare una risposta a questo nelle mie ricerche MSDN, così mi è stato sperando che qualcuno qui sarebbe in grado di indizio me.
Grazie in anticipo.
Ok, sembra la risposta. Sono ancora un po 'confuso sul perché ObjectSet myContext.Employees non contenga l'entità che ho appena aggiunto. –
Perché 'ObjectSet's sono query, non raccolte. –
Ok, stiamo arrivando alla mia incomprensione su cosa dovrebbero essere quegli ObjectSet. Quindi, è corretto dire che quegli ObjectSet sono solo lo stato del database delle entità? Se ciò è vero, esiste una raccolta che, ad esempio, ha tutte le entità Employee che sono in memoria (non solo quelle nel database)? –