如何解决我如何从dapper repo调用返回具有字典属性的对象
public class Invoice
{
public int InvoiceId { get; set; }
public int GroupId { get; set; }
public IDictionary<int,double> Variables { get; set; }
}
const string query = @"select InvoiceId,GroupId,VariableId,VariableValue
From Invoices;";
var result = ExecuteQuery<Invoice>(query,null);
我要获取的是上面的查询,它将返回一个平面数据集,我要在该数据集中按InvoiceId,GroupId分组,然后将所有VariableId,VariableValues放入字典中。
如何使用LINQ沿着这些路线选择许多ToDictionary?
谢谢!
解决方法
var invoiceDictionary = new Dictionary<int,Invoice>();
var list = connection.Query<Invoice,IDictionary<int,double>,Invoice>(
sql,(invoice,variables) =>
{
Invoice invoiceEntry;
if (!invoiceDictionary.TryGetValue(invoice.InvoiceID,out invoiceEntry))
{
invoiceEntry = invoice;
invoiceEntry.Variables = new Dictionary<int,double>();
invoiceDictionary.Add(invoiceEntry.InvoiceID,invoiceEntry);
}
invoiceEntry.Variables.Add(variables.Key,variables.Value);
return invoiceEntry;
},splitOn: "VariablesId")
.Distinct()
.ToList();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。