3 Stimmen

Einfache Datenzugriffsschicht

Kann jemand einen einfachen Data Access Layer (C# .NET) vorschlagen? Nicht scharf auf die Verwendung der Microsoft Application Data Access Block, scheint sehr aufgeblasen und Overkill. Auch wollen nicht LINQ to SQL aus verschiedenen Gründen zu verwenden. Ich möchte darauf aufbauen und unser eigenes internes ORM erstellen, wiederum aus verschiedenen Gründen. In der Vergangenheit habe ich immer die Data Access Layer bereits gebaut, so war nie in Gebäude beteiligt ....

1voto

Max Toro Punkte 27760

Überprüfen Sie DbExtensions können Sie es verwenden, um den DAL-Code zu vereinfachen, oder Sie können Ihren eigenen ORM darauf aufbauen.

0voto

Tim Punkte 4384

Für sehr einfache Anforderungen (und ich meine einfach!) würde ich eine DAL erstellen, die auf dem Repository-Muster basiert, wobei die SQL-Abfrage in den Repository-Methoden erfolgt und dann einfache POCOs ( Einfache alte CLR-Objekte ) werden erstellt und zurückgegeben.

Bei Bedarf können Sie Sprocs oder parametrisiertes SQL aufrufen. Dann ordnen Sie die Daten Ihrem Poco zu (verwenden Sie dazu einfach einen Standard-SQLDataReader)

Aber um ehrlich zu sein, in dem Moment, in dem die Abfragen groß oder komplex werden oder es viele Felder in Ihren Objekten gibt, sind Sie besser dran, wenn Sie eine richtige DAL/ORM die Last übernehmen lassen und sich auf Ihre Anwendung konzentrieren.

0voto

Bevor Sie Ihre Entscheidungen treffen können, gibt es einige Fragen, die Sie sich selbst beantworten müssen, bevor Sie beginnen, nicht nur, wenn Sie nicht möchten, dass Linq oder MS Data Access Layer das sind einige dieser Fragen:

  • Möchten Sie in der Lage sein, den Code (Generator) zu ändern, oder möchten Sie eine DAL, die Ihnen den Service des Zugriffs auf die DB bietet?
  • Möchten Sie mit XML-Konfigurationsdateien arbeiten oder bevorzugen Sie eine auf Reflexion basierende DAL?
  • Möchten Sie Unterstützung für mehrere DBs oder können Sie mit einer bestimmten DB leben?

Vor einigen Jahren musste ich eine DAL für das Unternehmen, für das ich arbeitete, bauen und stellte fest, dass es einfacher war, als ich dachte. Das Ergebnis war ein ORM, das auf Reflection basiert und zu diesem Zeitpunkt viele DBs unterstützt: SqlServer, Oracle, PostgreSql und SqLite.

Wenn es Ihnen hilft für alles bauen Sie Ihre eigene DAL (wenn Sie die Zeit haben) seine eine große Lernerfahrung, die Sie einige Sql und mehrere Funktionen der Sprache, die Sie vielleicht nie wieder verwenden lernen.

Viel Glück dabei...

0voto

VoltaicShock Punkte 852

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X