Suchergebnisse

Suchergebnisse 1-10 von insgesamt 10.

  • Benutzer-Avatarbild

    Hallo Sorry das ich mich hier einmische. Das sieht mir fast nach EntityFramework aus was @EugenIS hier verwendet. In diesem Fall MUSS/SOLLTE es mit einem UsingBlock verwendet werden das alles andere beim EF zu sehr merkwürdigen verhalten führen kann. Nur so als Tipp falls es wirklich EF sein sollte. PS: Ich frage mich warum man mit EF ExecuteSqlCommand für solch ein Insert verwendet? Grüße Sascha

  • Benutzer-Avatarbild

    Hallo Naja, doch, du kannst schon den Cache leeren und den speicher freigeben. Einfach alle Entitäten "Detachen". DetachAll() für die Contextinstanz. Man kann es auch nicht als MemoryLeak sehen da dieses Verhalten ja gewollt ist!! Its not a bug, its a feature!! Warum? EF ist im stande Entitäten welche bereits geladen wurden unter Umständen aus dem Cache zu holen. Z.b. macht die Methode Find genau das. Hier wird im Cache nachgesehen ob die Enität mit der ID bereits im Cache vorhanden ist und verw…

  • Benutzer-Avatarbild

    Hallo Zitat von ErfinderDesRades: „Das mit dem ChangeTracker mag ich kaum glauben.. Heisst das, wenn ich mw. Artikel in einen Context lade, und danach noch Kunden, dass EF dann das ChangeTracking nicht mehr zuverlässig gebacken bekommt? Da wäre EF ja miserabler als ich gedacht habe.“ Da hast du mich falsch verstanden. Das kann er alles. Jedoch! Rufe ich den Datensatz mit der ID 5 ab und benötige hier nur ein oder zwei Properties werden auch nur diese spalten abgerufen und sind im Cache. Jetzt sc…

  • Benutzer-Avatarbild

    Hallo Also zum Thema Performance kann man bei EF Core (ich rede wirklich von Core denn da hat sich ENORM was bei der Performance getan) wirklich viel rausholen wenn man es richtig anwendet. Im NoTracking Mode ist z.b. EF Core fast genauso schnell wie ADO.Net mit manuellem Mapping. So viel "Monstrositäten" wie in EF 6 sind da jetzt nicht mehr vorhanden. EF 6 war da leider anders. Ich rede hier von unterschieden im wenigen Millisekunden-Bereich beim Abrufen von 1000 Datensätzen. Aber gut, das soll…

  • Benutzer-Avatarbild

    OK, ich greife es jetzt nochmal auf. Was meinst du mit "ganze Tabelle" - nicht das wir aneinander vorbeireden. Du meinst vermutlich "alle Spalten". Also wenn du 5 Spalten hast und du änderst einen Wert in Spalte 3 dann aktualisiert EF alle Spalten obwohl sich die Werte in den anderen vier Spalten nicht geändert haben? Richtig? Das liegt dann aber daran das du den ChangeTracker falsch verwendest und EF es somit nicht besser weis. Du sagst es EF ja vermutlich mit sowas wie entität.State = Changed …

  • Benutzer-Avatarbild

    Zitat von EaranMaleasi: „Und das hast du auch Warm getestet, also mehr als nur 1 oder 2 mal nacheinander aufgerufen? Je nachdem was das EntityFramework so anstellt (ich tippe auf Reflection zu einem bestimmten Grad), kann ich mir bei einem einmaligen Aufruf von Funktionen etc. einen ziemlichen Overhead vorstellen, der bei weiteren Aufrufen unabhängig vom JIT dank Caching verschwindet.“ Genau das ist der springende Punkt. Gerade EF 6 ist hier beim ersten Aufruf EXTREM langsam. EF 6 besteht aus ei…

  • Benutzer-Avatarbild

    Hallo Ich habe die ersten Tests schon gemacht. Stele ich heute mal Online. Was ich jetzt schon mal sagen kann.... es ist nicht der Rede wert. wir sind da Teilweise im µs Bereich was den Unterschied in der Performance betrifft. Aus erfahrung (ich beschäftige mich seit ca. 3 Jahren mit EF) weis ich das zu 90% eine falsche Verwendung des Frameworks zu schlechter Performance führt. Werde aber noch ein paar meht Tests einspielen damit es auch representativ wird. Grüße Sascha

  • Benutzer-Avatarbild

    EF Core Performance Tests

    Nofear23m - - Daten(bank)programmierung

    Beitrag

    Also, ich habe mal die Tests gemacht. Jeder Test läuft immer in etwa mit 100 Durchläufen. So wie ich das sehe gibt es keinen Grund mit ExecuteSQLCommand oder mit FromSql zu Arbeiten. Oft ist EF Core auf die "normale" Art sogar schneller als über FromSql und beim Update sowieso da EF Core Batching unterstützt. Wie schon erwähnt, bei richtiger Anwendung ist EF Core nicht schlecht. Und dort wo es langsamer ist gehts auch nur um Millisekunden. Eure Meinung??? (Versteckter Text) (Versteckter Text) (V…

  • Benutzer-Avatarbild

    @EugenIS Steht dort dort warum der Test nicht ausgeführt wird. Hast du die Fehlermeldung im ersten Bild überhaupt gelesen? Ernsthaft? Du musst es im Release kompilieren und OHNE Debugger ausführen. Sonst bekommst du ja auch keine representativen Werte heraus wenn der Debugger mit drinnen hängt. zu dem zweiten Bild. Verwende entweder String.Format oder die String-Interpolation. (Siehe ca. 50 Beispiele innerhalb des Projekts) Zitat von EugenIS: „Jedenfalls kannst du es selbst ausprobieren einen Un…

  • Benutzer-Avatarbild

    Was soll ich dazu nur noch weiter sagen. Ich habe nichts Studiert und mir alles selbst beigebracht. Auch ich arbeite in einem großen Konzern und meine Programme laufen auch auf sehr vielen Rechnern, aber ich muss mich hier nicht rechtfertigen. Und eines: Ich muss dir nichts nachmachen, will ich auch nicht. Ich muss dir nichts beweisen, wirklich nicht. Auch muss ich dir nicht EF "schmackhaft" machen. DU verwendest es für etwas wo es nicht hingehört, nicht ich. Ich bin raus hier. Das muss ich mir …