Old-School-SQL DB-Zugriff im Vergleich zu ORM (NHibernate, EF, et al). Wer gewinnt?

StackOverflow https://stackoverflow.com/questions/59972

  •  09-06-2019
  •  | 
  •  

Frage

Ich habe meinen eigenen SQL-Zugangscode mit einer Kombination von gespeicherten Prozeduren und parametrisierte Abfragen und ein wenig Wrapperbibliothek erfolgreich mit dem Schreiben die ich geschrieben habe, den ADO.NET-Grunge zu minimieren. Das hat alles in der Vergangenheit sehr gut für mich gearbeitet, und ich habe mit ihm ziemlich produktiv.

Ich bin in ein neues Projekt Überschrift - sollte ich hinter mir meine alten Schulsachen setzen und graben sich in einem ORM-basierte Lösung? (Ich weiß, gibt es große High-Konzepte Unterschiede zwischen NHibernate und EF -. Ich will hier nicht in dem bekommen Aus Gründen der Argumentation, lassen Sie sich auch LINQ Klumpen mit den Old-School-Alternativen.) Ich suche Beratung bei der realen Anwendung von ORM Art Material gegen das, was ich weiß (und wissen ziemlich gut).

Old-school ADO.NET-Code oder ORM? Ich bin sicher, dass es eine Kurve ist - hat die Kurve einen ROI haben, die Dinge wert macht? Ich bin gespannt und bereit zu lernen, aber eine Frist zu tun haben.

War es hilfreich?

Lösung

Eine gute Frage, aber ein sehr umstrittenes Thema.

Dieser Blog-Eintrag von Frans Bouma aus ein paar Jahren die Vorteile von dynamischen SQL (was impliziert, ORMs) über gespeicherte Prozeduren löste die ganz feurige Flamme Krieg wieder unter Berufung auf.

Andere Tipps

Ich finde, dass LINQ to SQL ist viel, viel schneller, wenn ich Prototyping-Code. Es weht nur eine andere Methode weg, wenn ich jetzt etwas brauchen.

Aber es gibt eine Kosten. Im Vergleich zu handgerollten gespeicherte Procs ist LINQ langsam. Vor allem, wenn man nicht sehr vorsichtig ist, wie scheinbar geringfügige Änderungen plötzlich eine einzige Umdrehung in 1 + N-Abfragen machen können.

Meine Empfehlung. Verwenden Sie LINQ zunächst auf SQL, swtich dann Procs, wenn Sie nicht die Leistung bekommen Sie benötigen.

Es gab eine große Diskussion zu diesem Thema bei DevTeach in Montreal. Wenn Sie zu dieser URL: http://www.dotnetrocks.com/default.aspx ? showNum = 240 Sie in der Lage sein wird, zwei Experten auf dem Gebiet (Ted Neward und Oren Eini) diskutieren die Vor- und Nachteile der einzelnen Ansätze zu hören. Wahrscheinlich die beste Antwort wird Sie zu einem Thema finden, die keine wirkliche definitive Antwort hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top