Entity Framework - Entnehmen Sie das zugehörige Objektdiagramm und behalten Sie es bei

entity-framework

Frage

Ich habe gerade erst mit dem Entity Framework und nicht mit meinem normalen NHiberante angefangen, um zu sehen, wie EF funktioniert, und bis jetzt habe ich viele Probleme, aber insbesondere das Entfernen eines Objekts und das Beibehalten der zugehörigen untergeordneten Objekte.
Ich habe das Buch "O'Reilly Entity Framework" gekauft, das Ihnen mitteilt: "Ja, das Entity-Framework behält das Objektdiagramm standardmäßig nicht bei, wenn Sie es trennen", aber es zeigt nicht, wie Sie das Diagramm beibehalten. Danke, O'Reilly, das ist wirklich nützlich.

Wenn irgendjemand helfen kann, wäre das großartig, der Code unten:

        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;
        }

Vielen Dank!

Dan

Beliebte Antwort

Verwenden Sie stattdessen eine NoTracking-Abfrage. Auf diese Weise werden die Objekte immer angehängt, sodass Sie nicht "loslösen" müssen, wenn der Graph zerkleinert wird:

dh

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;
} 

Hoffe das hilft

Alex

(Programm-Manager-Entity Framework-Team)



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum