Ich habe meine Beispiele für Datenzugriffsthemen in diesem Repository erstellt. Ich habe Beispiele und Projekte zu Themen wie Entity Framework, Data First, Code First, Orm und Datenbankerstellung.
Es handelt sich um ein Tool, das als Brücke zwischen einer relationalen Datenbank und der objektorientierten Programmierung (OOP) fungiert. Diese Brücke ist eine Struktur, in der wir unsere Objektmodelle verwenden, um unsere Informationen in der relationalen Datenbank zu verwalten. Kurz gesagt handelt es sich um ein von Microsoft entwickeltes Framework, das unsere Objekte mit der Datenbank verbindet und Daten für uns austauscht.
Durch die Verwendung von LINQ-Abfragen (Language Integrated Query) mit dem Entity-Framework verfügen wir über eine leistungsstarke Abfrage für Objekte. Die vom Entity-Framework bereitgestellten Dienste umfassen hauptsächlich Änderungsverfolgung, Identitätsauflösung und Abfrageübersetzung. Der Hauptzweck des Entity-Frameworks besteht darin, dem Anwendungsentwickler zu ermöglichen, sich auf die Anwendungsseite zu konzentrieren, ohne zu sehr mit Datenoperationen beschäftigt zu sein. Um ein ganz einfaches Beispiel zu nennen: In klassischen ADO.NET-Anwendungen sind wir Entwickler vollständig dafür verantwortlich, eine Verbindung zu öffnen und zu schließen. Wenn Sie jedoch das Entity-Framework verwenden, beeinträchtigen Sie solche Vorgänge nicht. Sie bereiten Ihre Anfrage vor und senden sie über das Entity Framework an die Datenbank.
Entity Framework nutzt hierfür 3 verschiedene Projektentwicklungsmethoden.
Model First = Mit dieser Methode können Sie die Datenbank für dieses Modell entwerfen, indem Sie in Visual Studio eine leere Modelldatei (.edmx) hinzufügen. Die im Kompilierungsschritt angegebene Skriptdatei erstellt die Datenbank.
Datenbank zuerst = In dieser Richtung werden unsere notwendigen Klassen von Entity Framework erstellt, indem die zuvor erstellte Datenbank als Modell mit dem Projekt verbunden wird.
In diesem Ordner habe ich zunächst meine Datenbankbeispiele gezeigt. GitHub-Seiten.
Code First = Diese Methode ist eine Methode, die wir ausführen, indem wir mit der Erstellung unserer Klassen in der Visual Studio-Umgebung beginnen. Unsere Datenbank ist aus diesen Klassen abgeleitet. Hier kann der Entwickler beim Erstellen von Klassen Zuordnungsvorgänge mithilfe von Attributen durchführen. Der Mapping-Prozess ist übrigens das Ereignis, bei dem wir unsere Einschränkungen in unseren Tabellen definieren. Zusätzlich zu Attributen können wir diese Operationen auf unterschiedliche Weise ausführen. Beispielsweise werden Tools wie Fluent Api oder Fluent Validation häufig für Mapping-Vorgänge verwendet.
Mithilfe der Entity Framework-Bibliothek können wir die Daten filtern, indem wir Abfragen für eine Tabelle in unserer Datenbank durchführen. Fast alle Abfragen, die Sie in T-SQL durchführen können, können mit Entity Framework durchgeführt werden.
Hier habe ich die grundlegenden Auswahloperationen gezeigt. GitHub-Seiten.
Sie können die integrierten Funktionen von T-SQL-Abfragen und -Reporting auch mit der Entity Framework-Bibliothek nutzen.
Hier habe ich unsere grundlegenden Aggregatfunktionen gezeigt. GitHub-Seiten.
In der Code First-Struktur entsprechen die „Klassen“-Strukturen in der Programmiersprache den „Tabellen“-Strukturen in der Datenbank und die „Eigenschafts“-Strukturen entsprechen den „Spalten“-Strukturen in der Datenbank. Darüber hinaus entsprechen Attribute dank Attributen Validierungen können auf Datenbankstrukturen angewendet werden und bestimmte Bedingungen oder Einschränkungen können auf Spalten angewendet werden. Am wichtigsten ist, dass Sie die automatische Steuerung des Modells in Ihrem Projekt spüren und es mit voller Kontrolle nach Ihren Wünschen verwenden können.
Mein Beispiel zu diesem Thema können Sie hier sehen. GitHub-Seiten.
Ich habe eine vir-Datenbank erstellt, die Sie hier verwenden können.
Sie können es sich hier ansehen. GitHub-Seiten.
Es handelt sich um eine Struktur, die unsere Layered-Architecture-Projekte besser organisiert, die Lesbarkeit des Codes erhöht, die Teamarbeit steigert und das Fehlermanagement erleichtert. Tatsächlich haben wir mit dieser Struktur das Schreiben von Projekten zum Standard gemacht. Da diese Struktur aus drei Hauptschichten besteht, kann man sie heute als Multi-Layer-Architekturstruktur bezeichnen. Aber es basiert tatsächlich auf drei Hauptschichten. Diese Schichten sind;
– Datenschicht – Geschäftsschicht – Präsentationsschicht
Hier habe ich meine Entitäten entsprechend meiner Datenbank erstellt. GitHub-Seiten.
Hier habe ich meine Infrastrukturschicht erstellt. GitHub-Seiten.
Ich habe meine Benutzeroberfläche hier erstellt.GitHub-Seiten.
Dapper ist ein von Stackoverflow entwickeltes Micro-ORM-Tool, das viele Datenbanken unterstützt. Da Orm-Tools viele Dinge selbst erledigen, führt dies dazu, dass sie etwas langsam laufen. Dies wird insbesondere in Häfen mit starkem Verkehr nicht bevorzugt. In solchen Fällen kann Dapper bevorzugt werden. Es handelt sich um eine einzelne „DLL“. Was ist also eine Schnittstelle zum Mapping? Es sind auch keine Konfigurationsdateien erforderlich. Kurz gesagt, es ist einfach und schnell. Als Open Source auf Github veröffentlicht und weiterentwickelt.
--Das wichtigste Merkmal von Dapper ist seine sehr gute Leistung. Meistens wird es aufgrund dieses Vorteils bevorzugt.
--Sie können Ihre Abfragen einfach ausführen und das zurückgegebene Ergebnis problemlos an ein Objekt binden.
--Der größte Nachteil besteht darin, dass die Abfragen ziemlich fehleranfällig sind, da sie inline geschrieben werden. Darauf sollte geachtet werden. Schlimmer noch: Diese Fehler treten zur Laufzeit auf, nicht zur Build-Zeit.
--Bei Dapper erledigen wir die meisten Dinge. Der Entwickler muss sich um die Datenbank, unsere Abfragen, unsere Assets auf der Programmseite und den Status der Objekte kümmern. Dies erhöht die Entwicklungs- und Wartungskosten in der Entwicklungsphase großer Projekte erheblich.
Ich habe versucht, in diesem Repository zwei Methoden zu verwenden. Ich habe mit meinen Prozeduren in SQL in einem Repository und in meinem anderen Repository gearbeitet, indem ich meine Abfragen direkt in das Programm geschrieben habe.
-- Zuerst habe ich die Datenbank in SQL erstellt.
-- Anschließend habe ich meine Verfahren für die Methoden geeignet gemacht, die ich in meinem Programm verwenden werde. Sie können von hier aus schauen. GitHub-Seiten
--In meinem Programm habe ich auch meine Ebenen und Assets erstellt, meine Repositorys, die ich mit meinen Verfahren verwenden werde. Wichtig hierbei ist, dass ich meine Prozeduren und die Parameter, die ich darin verwenden werde, korrekt anführe. Andernfalls werden wir viele Fehler bekommen. Sie können von hier aus schauen. GitHub-Seiten
-- Die Verbindung zur Datenbank habe ich mit „Verbindung“ hergestellt. Sie können von hier aus schauen. GitHub-Seiten
– Ich habe meine neueste Benutzeroberfläche erstellt und meine gewünschten Aktionen ausgeführt. Sie können von hier aus schauen. GitHub-Seiten
Hier habe ich meine Abfragen geschrieben, die den gewünschten Vorgang direkt in SQL ausführen. Beim Schreiben der Abfragen ist hier wirklich große Vorsicht geboten. Ein Fehler kann viel Zeit verschwenden. Was die Parameter betrifft, müssen die übereinstimmenden Werte der Parameter in der Abfrage korrekt sein. Aber für mich sind Ausnahmen in Dapper ziemlich selbsterklärend. Es ist wirklich hilfreich, Fehler leicht zu finden.
Sie können von hier aus schauen. GitHub-Seiten
Hier habe ich meine Aktionen in der Benutzeroberfläche dargestellt.
Sie können von hier aus schauen. GitHub-Seiten