Zum Inhalt springen

OR Mapper unter C# und ADO.NET


bigpoint

Empfohlene Beiträge

Hallo Leute,

ich möchte gerne OR Mapper unter C# und ADO.NET programmieren.

Dazu brauche ich eure Hilfe bzw. Erfahrungen :hells:

Was muss so einen OR Mapper eure Meinung nach können?

Was wurdet ihr von einem sehr gutem OR Mapper erwartet.

Was denkt ihr überhaupt über OR Mapper? Sind die nützlich, brauchbar?

Gruß bigpoint

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja von einem "sehr guten" OR Mapper würde ich erwarten das er meine Klassen so weit wie möglich, ohne das ich irgendwelche extra Angaben über den Aufbau der Klasse machen muss, analysieren und dann in eine DB speichern kann.

Umgekehrt natürlich genauso, das er mir also einen Vorschlag für eine Klasse zu den vorhanden Daten implementiert.

Ob ein OR Mapper brauchbar ist hängt davon ab ob er alle an ihn gestellen Anforderungen erfüllt, wenn dem so ist ist er auch hilfreich ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja von einem "sehr guten" OR Mapper würde ich erwarten das er meine Klassen so weit wie möglich, ohne das ich irgendwelche extra Angaben über den Aufbau der Klasse machen muss, analysieren und dann in eine DB speichern kann.

Was verstehst du unter analysieren??

Umgekehrt natürlich genauso, das er mir also einen Vorschlag für eine Klasse zu den vorhanden Daten implementiert.

Hm…

Eine Klasse ist doch in dem fall nichts anderes als Darstellung eine DB-Tabelle, man kann also Daten anzeigen, löschen, bearbeiten, speichern ..

Hast du das als Vorschlag gemeint?

Ob ein OR Mapper brauchbar ist hängt davon ab ob er alle an ihn gestellen Anforderungen erfüllt, wenn dem so ist ist er auch hilfreich ;)

Eben die Anforderungen wurden mich interessieren

Abgesehen davon ist es doch noch eine zusätzliche schicht über ADO.NET spricht nicht so performant wie ADO.NET ?? und reicht ADO.NET nicht aus ??

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo bigpoint,

Du hast Dir EINIGES vorgenommen, hab mir selbst einmal Gedanken zu dem Thema gemacht einen "guten" OR-Mapper zu schreiben und bin am Ende zu dem Schluss gekommen dass ichs doch lieber fest verdrahtet mache.

Ein paar Gedanken zum OR Mapper:

- Mapping von Objekten mit Listen und in Listen ohne Redundante Speicherung

- Änderungen im Datenmodell, Kompatibilität von alten zu neuen Objekten

- Automatisches Anpassen von Tabellen wenn sich ein Datentyp ändert

- Sperren der Datenbank, oder von Teilend er Datenbank um Inkonsistenzen durch mehrere gleichzeitige Speichervorgänge zu vermeiden.

- Speichern von Referenzen

- Ggf. Attribute für die genauere Beschreibung der Klassen und deren Abbildung in der Datenbank.

- Primärschlüssel, Sekundärschlüssel usw ...

- Realisierung von Suchabfragen

Hab jetzt bestimmt auch einiges vergessen ;)

Hoffe das hilft Dir etwas weiter,

MfG

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Auf jeden Fall Lazy Loading und automatisches markieren und persistieren wenn ein Objekt Dirty ist. Komplexe Objektbäume müssen in der Datenbank gesichert werden, er sollte also relationen erkennen und abbilden können. Am coolsten wäre wenn es für den User wie eine Objektorientierte Datenbank aussieht, siehe mein Video hier: db4o .net Tutorial 1

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Leute,

ich möchte gerne OR Mapper unter C# und ADO.NET programmieren.

Viel Erfolg! Aber bist du dir wirklich im klaren darüber, was für ein Aufwand das werden kann? Ich will dich nicht von der Idee abbringe, aber mit mehreren Mannwochen musst du - auch bei den Grundfunktionalitäten - schon rechnen.

Was muss so einen OR Mapper eure Meinung nach können? Was wurdet ihr von einem sehr gutem OR Mapper erwartet.
Das hängt immer sehr stark vom Anwendungsfall und der größe der Applikation, in der die ORM-Lösung eingesetzt werden soll ab.

Für unverzichtbare Basisfunktionalitäten halte ich:

- Analyse der Klassenstruktur und automatisches Mapping von Klassenproperties auf Datenbankspalten

- Erstellen und Verändern von Tabellen und Tabellenspalten

- Datenbankneutralität, also eine Zwischenschicht, die die Verwendung von verschiedenen SQL Dialekten ermöglicht

- CRUD Operationen (Create, Retreive, Update, Delete)

Ohne diese Funktionalitäten ist ein ORM System praktisch witz- und nutzlos. Doch ist damit noch lange nicht das Ende der Entwicklungskette erreicht. Als nächstes kommen Dinge wie

- Abbildung von Relationen (One-To-One, One-To-Many, ...)

- Lazy Loading

- Transaktionen

- Caching

- ...

um nur mal einen Ausschnitt zu bringen.

Was denkt ihr überhaupt über OR Mapper? Sind die nützlich, brauchbar?
Ich halte sie ab einer gewissen Komplexität innerhalb der eigenen Applikation für unverzichtbar.
Link zu diesem Kommentar
Auf anderen Seiten teilen

ist es wirklich ORM Aufgabe??
Ja, ich denke schon.

Wenn ich schon auf objektorientierter Ebene arbeiten will und das Mapping auf die Datenbank von einer Zwischenschicht erledigen lasse, dann will ich nicht doch wieder hingehen und auf Datenbankebene wieder Konfigurationsarbeit durchführen (=Tabellen erstellen, etc.)

Ansonsten müsste ich jedes Mapping zweimal erledigen. Viel zu viel Potential für Fehler und schlicht und ergreifend nicht komfortabel genug.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...