Wir verwenden den Microsoft Entity Framework Code First Ansatz in unserer WPF-Anwendung.Warum dauert die SaveChanges() Methode in meinem Fall so lange?
Hier ist der Code:
int mainResult = base.SaveChanges();
foreach (var action in userActionsToTrack)
{
var guid = action.EntityGuid;
ITrackableEntity entity;
if (addedEntities.TryGetValue(guid, out entity))
action.EntityId = entity.Id;
Entry(action).State = EntityState.Added;
}
base.SaveChanges();
Erster Aufruf dauert ca. 1 Sekunde und zweite mehrere Minuten.
Die Basis ist - DbContext-Klasse.
Warum passiert das?
Wie viele Aktionen hat 'userActionsToTrack'? –
Mehr als 6000. – tesicg
Probieren Sie 'context.Database.Log = Console.Write; Um Ihre Abfrage in der Konsole zu schreiben, sehen Sie vielleicht etwas Seltsames in der Abfrage, die generiert wird. –