Multimapping in Dapper richtig nutzen
Die Multimapping-Funktion von Dapper ist ein leistungsstarkes Tool zum Zuordnen komplexer Datenstrukturen aus SQL-Abfragen. Die ordnungsgemäße Verwendung dieser Funktion ist jedoch von entscheidender Bedeutung, um Probleme zu vermeiden.
Im bereitgestellten Code sollte der Parameter „splitOn“ nur die Spalte(n) angeben, in denen die zugeordneten Objekte geteilt werden. Standardmäßig geht Dapper von „Id“ als Teilungspunkt aus. Um mehrere Teilungspunkte für verschiedene Objekte anzugeben, sollten diese als durch Kommas getrennte Liste bereitgestellt werden.
Zum Beispiel im gegebenen Szenario:
var data = con.Query<ProductItem, Customer, ProductItem>( sql, (productItem, customer) => { productItem.Customer = customer; return productItem; }, splitOn: "CustomerId" );
Der Parameter „splitOn“ gibt korrekt „CustomerId“ an " als Trennpunkt zwischen den Objekten ProductItem und Customer. Daher würde das Weglassen von „CustomerName“ aus der SplitOn-Liste nicht zu einem Null-Kundennamen führen, wie der in der Antwort bereitgestellte Code impliziert.
Es ist wichtig zu beachten, dass die Reihenfolge der Spalten im SQL-Ergebnissatz übereinstimmen sollte die im Parameter „splitOn“ angegebene Reihenfolge, um eine korrekte Zuordnung sicherzustellen. Wenn sich die Spaltenreihenfolge ändert, muss der splitOn-Parameter entsprechend angepasst werden.
Das obige ist der detaillierte Inhalt vonWie verwende ich den „splitOn'-Parameter von Dapper beim Multimapping richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!