AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken LINQ ORM Delphi (TMS / Devart)
Thema durchsuchen
Ansicht
Themen-Optionen

LINQ ORM Delphi (TMS / Devart)

Ein Thema von taveuni · begonnen am 5. Mär 2019 · letzter Beitrag vom 13. Mär 2019
 
Schokohase
(Gast)

n/a Beiträge
 
#10

AW: LINQ ORM Delphi (TMS / Devart)

  Alt 5. Mär 2019, 20:11
Seine Lösung war eine neue DbVerbindung für jedes Fenser.
Die richtige Lösung heißt eigentlich pro ObjectManager eine eigene DbVerbindung und für jeden Kontext einen eigenen ObjectManager
Naja, jedes Fenster hatte in meinem Beispiel innerhalb dieser Diskussion einen eigenen ObjectManager. Aber da es eine MDI Anwendung ist im Netz, die von jedem Fenstertyp soviele Instanzen erstellen kann wie man wll, ist dies keien akzeptale Lösung, IMHO, da dies zu hunderten von Verbindungen führt. Besser wäre eine Transaction-Lösung, wo man eine DbVerbindung hat und jeder ObjectManager eine eigene Transaction besitzt.
Du hast da ein grundlegendes Problem im Design. Wenn du das Konzept umstellst, dann verschwinden auch deine Probleme.

- Daten holen:

ObjectManager nach EntityObject/en fragen.
Aus den EntityObject/en das BusinessObject erzeugen
ObjectManager wegwerfen.
Mit dem BusinessObject arbeiten.

- Daten schreiben:

ObjectManager nach EntityObject/en fragen.
EntityObject/e mit BusinessObject aktualisieren
ObjectManager Änderungen speichern
ObjectManager wegwerfen.

Jetzt mal so nachzählen: Wieviele ObjectManager haben wir so bei 50 MDI-Formularen geöffnet? IdR 0 (in Worten null) nur wenn etwas geladen oder gespeichert wird, dann sind die da und weil es für jede Aktion Lesen oder Schreiben einen eigenen ObjectManager gibt, kommen die sich auch nicht mit den Transaktionen ins Gehege.

Geändert von Schokohase ( 5. Mär 2019 um 20:13 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz