Kann das Multi-Mapping von Petapoco mehrere JOINs behandeln?

8

Ich habe eine Liste Objekte, die ich benutze, um mit Petapoco zu füllen.

Die Klasseneigenschaften und -namen bearbeiten das Datenbankschema. Die Hauptklasse ist Issue und hängt mit zwei anderen Klassen zusammen, deren Namen und Eigenschaften auch mit dem Datenbankschema übereinstimmen: Bedingung und SeverityLevel .

%Vor%

Wenn ich eine Liste von Problemen abrufe, verwende ich die Multi-Mapping-Funktion, um die Liste Problem und die zugehörige SeverityLevel abzurufen mit einem einzigen Befehl:

%Vor%

Nun, da Petapoco anscheinend nicht mehrere JOINS behandelt, muss ich einen zweiten Schritt machen, um SourceCondition und TargetCondition zu jeder Ausgabe, die ich abgerufen habe.

Um das zu tun, könnte ich entweder:

  • Fügen Sie die Quelle und die Zielbedingung nach einem Lesevorgang in einer foreach-Schleife hinzu
  • oder rufen Sie die gesamte Liste der Bedingung ab und hängen Sie sie dann an jedes Problem an, indem Sie dieselbe Art von for-each verwenden.

Im Moment verwende ich die zweite Lösung, weil in der Datenbank eine begrenzte Anzahl von Bedingungen vorhanden ist.

Wie auch immer, es klingt ein bisschen schwer für mich, weil es fast so viele Abfragen erfordert, wie JOINED-Tabellen hinzugefügt werden.

Ich frage mich, ob ich erreichen könnte, dass Arbeit so etwas macht:

%Vor%

Liebe Petapoco-Benutzer, lieber Petapoco-Autor, ist das ein Weg, damit umzugehen?

Könnte ich stattdessen Dapper verwenden (wenn es möglich ist ...), möchte ich unbedingt Petapoco für meine Aktualisierungs- / Einfügeoperationen behalten?

    
Larry 12.07.2011, 12:36
quelle

1 Antwort

13
___ tag123mapping ___ Korrespondiert jedes Element eines gegebenen Satzes mit einem eindeutigen Element eines anderen Satzes oder verweist auf einen Prozess des Erstellens von Datenelementzuordnungen zwischen zwei unterschiedlichen Datenmodellen (Objekten). ___ tag123dapper ___ Dapper ist ein Micro-ORM für .NET, das vom Stack Overflow-Team entwickelt und verwendet wird. Dabei steht die rohe Leistung im Vordergrund. ___ tag123petapoco ___ PetaPoco ist ein kleines und schnelles Micro-ORM für .NET und Mono. ___ tag123join ___ Ein JOIN ist eine allgemeine Operation in der relationalen Algebra für eine Kombinationsoperation für zwei oder mehr Relationen in einem relationalen Datenbanksystem. JOIN ist auch das Schlüsselwort der SQL-Sprache zum Ausführen dieser Operation. ___ qstnhdr ___ Kann das Multi-Mapping von Petapoco mehrere JOINs behandeln? ___ antwort6665745 ___

Dies sollte möglich sein.

%Vor%

Ich habe das nicht getestet. Ich arbeite auch an einer Möglichkeit, dies zu automatisieren.

Es ist wirklich wichtig, dass die ausgewählten Spalten in derselben Reihenfolge wie die Parametertypen sind.

    
___ qstntxt ___

Ich habe eine Liste Objekte, die ich benutze, um mit Petapoco zu füllen.

Die Klasseneigenschaften und -namen bearbeiten das Datenbankschema. Die Hauptklasse ist Issue und hängt mit zwei anderen Klassen zusammen, deren Namen und Eigenschaften auch mit dem Datenbankschema übereinstimmen: Bedingung und SeverityLevel .

%Vor%

Wenn ich eine Liste von Problemen abrufe, verwende ich die Multi-Mapping-Funktion, um die Liste Problem und die zugehörige SeverityLevel abzurufen mit einem einzigen Befehl:

%Vor%

Nun, da Petapoco anscheinend nicht mehrere JOINS behandelt, muss ich einen zweiten Schritt machen, um SourceCondition und TargetCondition zu jeder Ausgabe, die ich abgerufen habe.

Um das zu tun, könnte ich entweder:

  • Fügen Sie die Quelle und die Zielbedingung nach einem Lesevorgang in einer foreach-Schleife hinzu
  • oder rufen Sie die gesamte Liste der Bedingung ab und hängen Sie sie dann an jedes Problem an, indem Sie dieselbe Art von for-each verwenden.

Im Moment verwende ich die zweite Lösung, weil in der Datenbank eine begrenzte Anzahl von Bedingungen vorhanden ist.

Wie auch immer, es klingt ein bisschen schwer für mich, weil es fast so viele Abfragen erfordert, wie JOINED-Tabellen hinzugefügt werden.

Ich frage mich, ob ich erreichen könnte, dass Arbeit so etwas macht:

%Vor%

Liebe Petapoco-Benutzer, lieber Petapoco-Autor, ist das ein Weg, damit umzugehen?

Könnte ich stattdessen Dapper verwenden (wenn es möglich ist ...), möchte ich unbedingt Petapoco für meine Aktualisierungs- / Einfügeoperationen behalten?

    
___
Schotime 12.07.2011, 14:25
quelle

Tags und Links