Datenbank
-
Guten Morgen,
ich habe eine Datenbank mit 5 Tabellen. Welche Möglichkeiten habe ich, die Datenbank in einem C# Projekt einzubinden?
Es soll möglich sein, Daten zu fülllen, löschen, ändern usw.
Welche Vor-/ und Nachteile haben diese Methoden? Wäre es z.B. besser, einen DataSet anzulegen oder direkt mit SQL Abfragen auf die Datenbank zugreifen?Vielen Dank!
Liebe Grüße
Sonnenschein5
-
Sonnenschein5 schrieb:
Wäre es z.B. besser, einen DataSet anzulegen oder direkt mit SQL Abfragen auf die Datenbank zugreifen?
Die Antwort darauf wird sehr stark davon abhängen wen du fragst.
Ich bevorzuge i.A. direkt SQL Schnippel an die DB zu schicken.
-
hustbaer schrieb:
Sonnenschein5 schrieb:
Wäre es z.B. besser, einen DataSet anzulegen oder direkt mit SQL Abfragen auf die Datenbank zugreifen?
Die Antwort darauf wird sehr stark davon abhängen wen du fragst.
Ich bevorzuge i.A. direkt SQL Schnippel an die DB zu schicken.Hehe, stimmt. Ich finde SQL und Relationale Schemen furchtbar und will soweit es geht nur mit Objekten arbeiten -> ORM.
-
µ schrieb:
... nur mit Objekten arbeiten -> ORM.
Um mal ein paar beim Namen zu nennen:
Entity Framework
NHibernateWeitere siehe hier:
http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software#.NET
-
Für neue Projekte empfiehlt Microsoft das Entity Framework. Ich selbst ziehe ein ORM wie EF auch vor, aber bin ebenso nicht ganz abgeneigt das ein oder andere über SQL und DB-Spezifischen Kram zu realisieren (und hoffe das die kommende Version 6 vom Entity Framework auch bei Code First hier wirklich Stored Procedures etc. unterstützt).
Fakt ist bislang das zumeist direkte SQL-Statements schneller sind als die ORM-Alternativen, auch wenn letztere meistens auch schon schnell genug sind (bzw. sich noch etwas optimieren lassen). Für 95% der Anwendung, an der ich mitarbeite, überwiegt aber der Vorteil eines ORMs da wir viele Bearbeitungsfenster haben wo nicht die Massenverarbeitung im Fokus steht. Zudem heißt es ja nicht das man nicht beides kombinieren kann, wo es sinnvoll ist.