| 

.NET C# Java Javascript Exception

10
Hallo!
Welcher Datenbankzugriff ist derzeit für .NET zu empfehlen?
In Frage kommen aktuell Entity Framework, NHibernate oder ADO.NET.
Gibt es weitere, die ihr empfehlen könnt?
Was gibt es für Vor- und Nachteile?
02.11.2011
raffi 156 1 2 7
2 Antworten
3
Hallo,

das ist immer ein Stück weit Geschmackssache. Ich persönlich setze auf das Entity Framework. Es ist zwar vielleicht nicht ganz so mächtig wie NHibernate, aber es ist schön im VS und im .NET Framework integriert. Und erfüllt den Zweck :)

Mit ADO.NET hab ich mich nie ganz so anfreunden können. Ich persönlich finde das nicht so flexibel und übersichtlich wie NHIbernate oder das EF..

Ich verwende das EF weil es mir unter anderem auch erlaubt direkt Stored Procedures aufzurufen. Damit kann man Operation welche mit dem ORM zu lange dauern geschickt auslagern (z.B. irgendwelche BULK Inserts, oder Ähnliches).

Also meiner Meinung sind EF und NHibernate besser als ADO.NET
Und EF kriegt von mir noch einen kleinen Pluspunkt da es perfekt im VS / Framework integriert ist und in der letzten Version auch ziemlich auf NHibernate aufgeholt hat

EDIT:
Noch ergänzend dazu: Entity Framework VS Linq To SQL VS ADO.NET with Stored Procedures

Grüße
02.11.2011
michlG 1,7k 1 5
michlG 1,7k 1 5
Das Entity Framework hat allerdings gegenüber NHibernate die Einschränkung, dass es standardmäßig nur mit dem Microsoft SQL Server zusammenarbeitet. Für andere Datenbanken sind z.T kostenpflichtige Erweiterungen nötig.

Der Vorteil des Aufrufens von Stored Procedures ist aus meiner Sicht relativ. Diese kann ich auch beim Einsatz eines ORM immer direkt per ADO.NET aufrufen.
luedi 03.11.2011
ADO.net ist schnell. Du musst halt nur das Mapping zum Objekt selber machen - und das ist manchmal nervig.
Karl 03.11.2011
3
Ich habe vor einiger Zeit im Rahmen einer Entscheidungsfindung einen Vergleich zwischen ADO.NET und NHibernate durchgeführt und dazu identische Datenbankoperation für beide Technologien implementiert. Meine Ergebnisse zu den Performance-Unterschieden waren marginal. Lediglich die Initialisierung der Anwendung dauert be NHibernate signifikant länger, da zunächst das Mapping erzeugt werden muss.
luedi 03.11.2011
NHibernate ist leider auch etwas aufwändiger einzurichten.
EF hat hier durch einfaches Einbinden der Tabellen mittels Wizards direkt aus der SQL Server DB deutliche Vorzüge.
In einem meiner Projekte muss ich aber leider NHibernate nutzen, da es sich um eine MS Access DB handelt und ein Umstieg auf SQL Server nicht geht.
SvenG 03.11.2011
0
Hallo SvenG,

In einem meiner Projekte muss ich aber leider NHibernate nutzen, da es sich um eine MS Access DB handelt und ein Umstieg auf SQL Server nicht geht.


Ein Umstieg von MS Access auf SQL-Server ist auf jeden Fall möglich. Ich habe dafür ein Tool geschrieben was dies sogar automatisch erledigt indem es anhand der Tabellendefinitionen die entsprechenden SQL-Skripte erstellt.
Falls das noch aktuell sein sollte kann ich Dir hier gerne weiterhelfen.
25.12.2012

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH