我想将dapper查询结果映射到JSON。
我有一个可行的解决方案,但说实话,这还不是很好。
我的C#对象:
public class JsonData
{
private string _data;
public int Id { get; set; }
[NotMapped]
public JArray DataJson
{
get
{
return JsonConvert.DeserializeObject<JArray>(string.IsNullOrEmpty(_data) ? "{}" : _data);
}
set
{
_data = JsonConvert.SerializeObject(value);
}
}
}
我的工作解决方案现在看起来:
var result = db.Query(query).ToList();
var jsonData = new JsonData();
var values = result.Select(x => (IDictionary<string, object>)x).First().Values.ToArray();
jsonData.Id = (int)values[0];
jsonData.DataJson = JArray.Parse((string)values[1]);
这是更好的方法吗?