• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 1
  • 1
  • Tagged with
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Effiziente Behandlung von Daten mit rekursiven Beziehungen in ORM-Frameworks am Beispiel von Entity Framework Core

Killisch, Benjamin Uwe 03 February 2023 (has links)
ORM-Frameworks sind eine häufig genutzte Möglichkeit, die Unterschiede zwischen der objektorientierten Programmierung und der relationalen Datenspeicherung zu überbrücken. Gleichzeitig sind rekursive Beziehungen in vielen Datenmodellen vorhanden, um Hierarchien und andere baum- oder netzartigen Strukturen abzubilden. Diese Arbeit beschäftigt sich mit der Problemstellung, wie man Daten in rekursiven Beziehungen in einem ORM-Framework möglichst effizient aus der Datenbank laden kann. Zur Lösung des Problems werden zuerst fünf verschiedene Lösungsansätze theoretisch entwickelt, und anschließend in Entity Framework Core (EF Core) umgesetzt. Dies geschieht so, dass sich die entstandenen Implementierungen wie normale LINQ-Abfragen in EF Core nutzen lassen. Anschließend wurden die Lösungsansätze in verschiedenen Szenarien mit verschiedenen SQL-Dialekten getestet, gefolgt von einer Betrachtung der Testergebnisse nach den verschiedenen Test-Parametern. Diese Auswertung zeigt, dass Abfragen mit rekursiven allgemeinen Tabellenausdrücken und Abfragen mit KeyLoading in den meisten Fällen am effizientesten sind. Die anderen drei Ansätze sind entweder generell zu langsam oder nur in speziellen Situationen nutzbar. Die Auswertung zeigt auch, dass die Performance der verschiedenen Lösungsansätze immer von der Situation abhängig ist, besonders vom ge- nutzten SQL-Dialekt.:1 Einleitung 2 Rekursive Beziehungen in relationalen Datenbanken 2.1 Definition 2.2 Rekursive Abfragen durch allgemeine Tabellenausdrücke 3 Object-Relational Mapping und Entity Framework Core 3.1 Object Relational Impedance Mismatch 3.1.1 Konzepte der objektorientierten Programmierung 3.1.2 Konzepte von relationalen Datenbanken 3.1.3 Probleme durch Unterschiede zwischen den Konzepten 3.2 Überbrückung des Impedance Mismatch durch Object-Relational Mapping 3.2.1 ORM-Frameworks 3.2.2 Allgemeine Lösungsansätze 3.2.3 Zugehörige Daten laden 3.3 Entity Framework Core 3.3.1 Generierung des Datenbankschemas 3.3.2 Abfragen mit LINQ 3.3.3 C# Expressions 3.3.4 Ablauf einer Abfrage in Entity Framework Core 3.3.5 Der ChangeTracker 3.3.6 Abfragen mit RawSql 4 Rekursive Abfragen in ORM Frameworks 4.1 Allgemeine Lösungsansätze 4.1.1 Anforderungen an die Lösungsansätze 4.1.2 Grundlegende Überlegungen 4.1.3 Rekursive allgemeine Tabellenausdrücke 4.1.4 Benutzerdefinierte Funktionen 4.1.5 Laden mit Hilfseigenschaft 4.1.6 Vertikales und horizontales Aufrollen 4.1.7 KeyLoading 4.2 Umsetzung in Entity Framework Core 4.2.1 Anforderungen im Kontext von Entity Framework Core 4.2.2 Rekursive allgemeine Tabellenausdrücke 4.2.3 Laden mit Hilfseigenschaft 4.2.4 Vertikales Aufrollen 4.2.5 Horizontales Aufrollen 4.2.6 KeyLoading 5 Test der Lösungsansätze 5.1 Testverfahren 5.1.1 Performancemessung in C# 5.1.2 Messung der SQL-Abfragedauer 5.2 Test-Szenarien 5.3 Auswertung der Testergebnisse 5.3.1 Anmerkungen zu Messungen mit TotalProcessTime 5.3.2 Auswertung nach verschiedenen Kriterien 5.3.3 Allgemeine Auswertung 5.3.4 Auswertung nach Verzweigungen 5.3.5 Auswertung nach Rekursionstiefe 5.3.6 Auswertung nach Anzahl der Strukturen 5.3.7 Auswertung nach dem Laden zugehöriger Daten 5.3.8 Auswertung nach SQL-Dialekt 5.3.9 Auswertung nach Beziehungstyp 5.3.10 Auswertung nach Schlüsseltyp 6 Fazit A Messwerte
2

Modernisering av webbaserat användargränssnitt för Skärblacka Bruk

Johansson, Tony January 2021 (has links)
My independent work has been to modernize a user interface in a 10-year-old MVC Framework application used by Skärblacka mills within the BillerudKorsnäs Group. The concept of modernization also means increasing its quality; to replace older knowledge and technology with new and modern technology such as be able to click on the text of a checkbox that is considered to be more relevant for its time. The framework chosen for the implementation was ASP.NET Core MVC, which is an open source for the most common platforms. The implementation of the porting meant that server code that is well-functioning has been maintained to a large extent. JavaScript is also pretty much the same except in a few places. To get a good and durable structure, the application is layered in the form of 3 layers with Controller, BusinessLayer and Repository. The database with SQL Server is basically the same except that Identity has been introduced. To be able to communicate with the database, ORM EF Core has been chosen, which is a slim version of EF. A lot of what is in the old MVC framework has been redesigned because it is not supported in Core MVC. The application consists of an assembly with a logical development tree that consists of the files included in the application.Ajax has been used to get soft desktop-like updates.The application, which is complex with a lot of complicated things, made time run away. / Mitt självständiga arbete har varit att modernisera ett användargränssnittet i en 10 år gammal MVC Framework applikation som används av Skärblacka bruk inom BillerudKorsnäs koncernen. I begreppet modernisera ligger också innebörden att öka dess kvalité; att byta ut äldre kunskaper och teknik mot ny och modern teknik som t.ex. kunna klicka på texten till en checkbox som anses vara av mer relevans för sin tid. Det ramverk som valdes för implementationen var ASP.NET Core MVC som är ett open sourse för de vanligaste plattformarna. Genomförandet av porteringen innebar att serverkod som är väl fungerande har bibehållits i stora delar. Även JavaScript är i stort sett densamma förutom på några få ställen. För att få en bra och hållbar struktur är applikationen skiktad i form av 3 lager med Controller, BusinessLayer och Repository. Databasen med SQL Server är i stort sett densamma förutom att Identity har införs. För att kunna kommunicera med databasen har man valt ORM EF Core som är en slimmad version av EF. En hel del av det som finns i den gamla MVC framework är omgjort eftersom det stöds in i Core MVC. Applikationen består av en assembly med ett logiskt utvecklingsträd som utgörs av de filer som ingår i applikationen. Ajax har används för att få mjuka desktop liknade uppdateringar. Applikationen som är komplex med en hel del komplicerade saker gjorde att tiden rann iväg.

Page generated in 0.0171 seconds