| |
VB.NET - Ein- und UmsteigerRe: Beispiel für das Befüllen einer Klasse mit Daten aus der DB | | | Autor: DaveS (Moderator) | Datum: 11.09.10 20:33 |
| Ich möchte denn die andere Seite ansprechen, bevor man annimmt es muss wohl Orm sein.
Es mag zuerst schon sein der Begriff sagt einem nichts, und da sind wir schon beim ersten Thema: man muss ganz schön viel neues lernen. Und trivial wird das nicht sein. Ein Orm soll ja die "Widerstands Unausgeglichenheit" ("impedance mismatch") zwischen Sql DB und OOP Klassen ausmerzen, und es mag sein beim ersten Blick passiert alles automatisch, aber ohne zu wissen was hinter den Kullissen wirklich passiert kann man ganz schlechte Abfragen erstellen, die extrem langsam sind. Das ist bei etwa Linq to Sql und Linq/EF mehr oder weniger vorprogrammiert. Und viele Orms haben Probleme mit komplexen Queries, obwohl es kann aber sein, dass es effizienter wäre für das Gesamtsystem wenn der Client die Werte aus einfachen Queries zusammensetzt. Meine Meinung nach aber ist etwa eine Linq Abfrage oft schwieriger zu verstehen als normale Sql, und Spielraum for grobe Fehler hat man genug. Und jemand muss auch sowieso eine DB entwerfen (ist bei dir vermutlich schon gegeben). Und man sollte übrigens auch bedenken, dass wenn die BL Logik im Client implementiert ist, dass der DB Server einiges nochmal prüfen sollte. Eine BL am Server, was alle Clients ansprechen reicht aber um Gültigkeit der Daten zu sichern, aber ganz ohne DB Wissen geht es also nicht.
Ich glaube man kann Sql Datenbanken am besten ausnutzen wenn man Sql Datenbanken gut versteht, und ganz normale Methoden (man macht es ja schon 40 Jahre oder so) verwendet. Irgendwelche komplizierten Methoden die dazwischen kommen sind vielleicht hilfreich wenn man das alles nicht so gut versteht, aber man reicht schnell die Grenzen und wird danach eher aufgehalten und frustriert. Wenn man Sql Datenbanken nicht braucht gibt es andere Sachen wie Objekt-Datenbanken. Ist es eigentlich ein großer Sprung vorwärts wenn man schreibt etwa
For Each customer in dataContext.Customers
For Each Order In customer.Orders
... oder
For Each customer in dataSet.Customers
For Each Order In customer.GetChildRows()
... Nun, ich lasse die Frage offen.
Und ein Orm (oder nicht) ist auch nur ein (eventuell kleiner) Teil der Anwendung. Da hat man noch mit den Fragen zu Schichten, MVC/MVP/MVVM und was es alles sonst gibt zu tun. Man kommt eventuell schneller ans Ziel wenn man sich total von diesem Thema verabschiedet und sich auf eine gute Architektur mit längst bewährten Mitteln konzentriert.
________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevGraph (VB/VBA)
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|