Maison >développement back-end >C++ >Comment utiliser correctement le multimapping de Dapper avec plusieurs colonnes client ?

Comment utiliser correctement le multimapping de Dapper avec plusieurs colonnes client ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-31 18:22:10578parcourir

How to Correctly Use Dapper's Multimapping with Multiple Customer Columns?

Utilisation correcte du multimapping dans Dapper

La fonctionnalité multimapping de Dapper permet de récupérer plusieurs types à partir d'une seule requête. Dans l'exemple fourni, l'objectif est de renvoyer une liste de produits et de leurs clients associés.

L'exemple de code Dapper définit deux classes : ProductItem et Customer. La requête renvoie avec succès les produits et leurs clients, mais le paramètre "splitOn" doit inclure la liste complète des colonnes client pour récupérer toutes les propriétés des clients.

Le malentendu réside dans l'interprétation du paramètre "splitOn". Il spécifie le point auquel les colonnes doivent être divisées en plusieurs objets. Par défaut, il est divisé au niveau de la propriété Id. Cependant, dans ce cas, les propriétés du client commencent à la colonne "CustomerId".

Pour corriger le problème, le paramètre "splitOn" doit être modifié comme suit :

splitOn: "CustomerId"

Cela entraînera dans le mappage correct, où la propriété "Customer" de chaque instance ProductItem contiendra les données client associées.

Il est important de noter que l'ordre des colonnes dans la table sous-jacente est crucial. Si l'ordre des colonnes client est modifié, le paramètre « splitOn » devra être ajusté en conséquence pour maintenir un mappage précis.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn