Je récupère des données d'une source externe. Ma classe correspond à la réponse du JSON. Cependant, il y a un objet intérieur à l'intérieur du json. Comment puis-je le supprimer lorsque je le passe aux paramètres dynamiques dans Dapper?
Structure de base de la classe
{
"name": "John",
... 30 more fields here ...
"location": {
"city": "abcd",
"zip": "87123"
}
}
En utilisant ceci comme:
foreach (var result in response.results)
{
var parameters = new DynamicParameters();
parameters.AddDynamicParams(result);
// I need to remove "location" from this parameter
// and then I can add the city and zip
parameters.AddDynamicParams(result.location.city); // etc
db.Execute("save_data", parameters, commandType:CommandType.StoredProcedure);
}
Toujours en attente d'une réponse, mais voici la solution de contournement que j'ai commencé à utiliser
foreach (var result in response.results) {
var parameters = new DynamicParameters();
foreach (PropertyInfo prop in result.GetType().GetProperties()) {
if (!SpecialParameter(result, prop, parameters))
parameters.Add(prop.Name, prop.GetValue(result, null));
}
db.Execute("save_data",
parameters, commandType: CommandType.StoredProcedure);
}
function SpecialParameter(result, prop, parameters) {
// can be implemented in the sub class
switch (prop.Name) {
case "location":
parameters.Add("location_city", result.city);
parameters.Add("location_state", result.city);
return true;
}
return false;
}