Comment placer des objets dans un dictionnaire en utilisant Dapper en C #?

c# dapper dictionary sql-server

Question

J'ai un dictionnaire comme celui-ci:

Dictionary<string,SP> dict;

qui contient une chaîne et un objet SP.

Je voudrais faire ce qui suit

dict = conn.Query("SELECT routine_name,created,modified FROM PROCEDURES").toDictionary (
                        row => (string)row.Routine_Name,
                        row => new SP (Name=row.Routine_Name,Created=row.created,Modified=row.modified));

Le code ci-dessus ne fonctionne pas. Comment créer un objet SP avec les informations ci-dessus. J'ai un constructeur qui prend ces trois paramètres.

Réponse acceptée

  1. Créer un modèle approprié

    public class SP {
        public string RoutineName { get; set; }
        public DateTime Created { get; set; }
        public DateTime Modified { get; set; }
    }
    
  2. Mappez votre requête pour modéliser les propriétés, sélectionnez-la dans le dictionnaire

    Dictionary<string, SP> dictionary = connection.Query<SP>(@"
        SELECT 
             routine_name AS RoutineName,
             created AS Created,
             modified AS Modified
        FROM PROCEDURES
    ").ToDictionary(m => m.RoutineName, m => m);
    



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi