Heim > Backend-Entwicklung > C++ > Wie kann ich das Multimapping von Dapper richtig nutzen, um alle Kundeneigenschaften abzurufen?

Wie kann ich das Multimapping von Dapper richtig nutzen, um alle Kundeneigenschaften abzurufen?

Linda Hamilton
Freigeben: 2024-12-31 22:49:09
Original
612 Leute haben es durchsucht

How Can I Correctly Use Dapper's Multimapping to Retrieve All Customer Properties?

Richtige Verwendung von Multimapping in Dapper

Multimapping ist eine Funktion in Dapper, die die Rückgabe mehrerer Objekttypen aus einer einzigen Abfrage ermöglicht. Um es zu verwenden, stellen Sie eine Zuordnungsfunktion bereit, die die Daten den entsprechenden Objekten zuordnet.

In Ihrem Beispiel versuchen Sie, ProductItems und Customers aus der Abfrage zuzuordnen:

var sql = @"select * from Product p
            inner join Customer c on p.CustomerId = c.CustomerId 
            order by p.ProductName";

var data = con.Query<ProductItem, Customer, ProductItem>(
    sql,
    (productItem, customer) => {
        productItem.Customer = customer;
        return productItem;
    },
    splitOn: &quot;CustomerId,CustomerName&quot;
);
Nach dem Login kopieren

Allerdings , Sie haben Probleme mit der Rückgabe aller Kundeneigentümer. Dies liegt daran, dass der Parameter „splitOn“ die Spalten angibt, die zwei Objekte trennen. Wenn Sie CustomerName nicht angeben, geht Dapper davon aus, dass es sich am Ende des Ergebnissatzes befindet, und weist ihm null zu.

Um dieses Problem zu lösen, stellen Sie sicher, dass CustomerId zuerst in splitOn und CustomerName an zweiter Stelle angegeben wird. Dadurch wird die Ergebnismenge korrekt aufgeteilt. Wenn sich jedoch die Spaltenreihenfolge in der Tabelle ändert, kann dies zu null Kundennamen führen.

Hinweis: Wenn die Ergebnismenge mehrere Teilungspunkte aufweist, listen Sie diese in einem durch Kommas getrennten Format auf . Dapper teilt die Ergebnismenge basierend auf diesen Punkten in mehrere Objekte auf.

Das obige ist der detaillierte Inhalt vonWie kann ich das Multimapping von Dapper richtig nutzen, um alle Kundeneigenschaften abzurufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage