Laden...

Generischer Datenbankzugriff und Objekterstellung?

Erstellt von #coder# vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.215 Views
#coder# Themenstarter:in
395 Beiträge seit 2008
vor 12 Jahren
Generischer Datenbankzugriff und Objekterstellung?

Hallo, ich suche nach einer Möglichkeit eine Datenbankzugriff generisch zu halten, es soll für alle Repository Klassen eine Klasse existieren die anhand der **DataObjects **das jeweilige Objekt je nach Kriterien initialisiert. Über den Properties der **DataObjects **würde man Attribute mit den Namen der Spalten mappen. Anhand dieser Information könnte der Datenbankzugriff die jeweiligen Properties mit den Werten befüllen.

Im klassischen hätte man für etliche DataObjects Repository Klassen, wie z.B. CustomerRepository, ProductRepository, ... diese bauen das jeweilige Objekt aus einer **DataTable **bzw. **DataReader **auf. Gibt es hier eine wartbare, bessere Lösung?

Gibt es Patterns, Sample Projekte, die schon auf solche Thematik eingegangen sind?
Bitte nicht auf das Entity Framework verweisen.

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo #coder#,

wenn ich richtig verstanden habe was du willst, dann wäre das aber genau mit dem EF realisierbar. Warum willst du das nicht?

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

F
10.010 Beiträge seit 2004
vor 12 Jahren

Das ist genau das was ein ORMapper macht.
Wenn du etwas kleines suchst, schau dir einen der neuen Micro-ORM an, wie Dapper.NET, Massive oder PetaPoco

Ob es gleich EF sein muss sei dahingestellt.

#coder# Themenstarter:in
395 Beiträge seit 2008
vor 12 Jahren

Wie sieht es mit der Geschwindigkeit und Performance der aktuellen Version vom EF4.1 aus? Ich habe eine Performance Tabelle mit der Gegenüberstellung von ADO.NET DataReader, NHibernate bis zum EF gesehen. Der DataReader ist schnell, aber man muss auf ein ORM verzichten, also es gibt Vor- und Nachteile.

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo #coder#,

am aussagekräftigsten ist wenn du das für den konkreten Fall durchmisst. Pauschale Aussagen/Tabellen geben zwar Zahlen wieder, aber wirklich auf die eigenene Anwendung lässt sich das nicht übertragen bzw. kann sich da ein anderes Bild abzeichnen.

Dass jedoch ein O/R-Mapper langsamer als der direkte ADO.net-Zugriff ist, sollte aufgrund des nötigen Overheads klar sein.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"