Entity Framework - Scollega e mantieni il relativo oggetto grafico

entity-framework

Domanda

Ho appena iniziato a utilizzare Entity Framework anziché il mio normale NHiberante per vedere come funziona EF e finora ho molti problemi, ma uno in particolare è la separazione di un oggetto e il mantenimento degli oggetti figlio correlati.
Ho comprato il libro di O'Reilly Entity Framework che ti dice "sì, la struttura di un'entità di default non mantiene il grafico dell'oggetto quando si scollega" ma non mostra come si mantiene il grafico! Grazie a O'Reilly questo è davvero utile.

Ad ogni modo se qualcuno può aiutare sarebbe fantastico, codice qui sotto:

        using (var creativeWorkshopEntities = new CreativeWorkshopEntities())
        {
            var q = from c in creativeWorkshopEntities.Job.Include("Files")
                    where c.Id == jobId
                    select c;

            var job = q.First();

            creativeWorkshopEntities.Detach(job);

            return job;
        }

Grazie!

Dan

Risposta popolare

Prova invece a utilizzare una query NoTracking. In questo modo gli oggetti non sono collegati, quindi non è necessario "staccarli", ovvero quando il grafico viene triturato:

vale a dire

using (var creativeWorkshopEntities = new CreativeWorkshopEntities())        
{            
    creativeWorkshopEntities.Job.MergeOption = MergeOption.NoTracking;
    var q = from c in creativeWorkshopEntities.Job.Include("Files")
            where c.Id == jobId                    
            select c;            
    var job = q.First();            
    return job;
} 

Spero che questo ti aiuti

alex

(Team Entity Framework del Program Manager)



Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow