问题
I have a dictionary like the following:
Dictionary<string,SP> dict;
that contains a string and a SP object.
I would like to do the following
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));
The above code is not working. How can I create a SP object with the above information. I have a constructor that takes these three parameters.
回答1:
Create proper model
public class SP { public string RoutineName { get; set; } public DateTime Created { get; set; } public DateTime Modified { get; set; } }
Map your query to model properties, select it to dictionary
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);
来源:https://stackoverflow.com/questions/30716092/how-to-put-objects-into-a-dictionary-using-dapper-in-c