Can u help me with this one, i have an expression built in VB.NET and works normally but i need to use it in C# and not works, this is the expression
(From d In dt
Group d By k1=d(“Nombre del elemento nominado”),k2=d(“ID de producto de crudo”) Into grp=Group
Let sm = grp.Sum(Function(r) CInt(r(“Barriles promedio por día nominados”).ToString)/total)
Select dtResult.Rows.Add({k1,k2,sm})
).CopyToDataTable
, is there any way to do what I need?. (invoke code doesn’t work for me in this one)
(from d in dt.AsEnumerable()
group d by Tuple.Create(d["Nombre del elemento nominado"],d["ID de producto de crudo"]) into grp
select dtResult.Rows.Add(new object[] { grp.Key.Item1,grp.Key.Item2,grp.Sum(r=>Int32.Parse(r["Barriles promedio por día nominados"].ToString())/total)})
).CopyToDataTable()
(from d in dt.AsEnumerable()
group d by new { k1 = d["Nombre del elemento nominado"].ToString(), k2 = d["ID de producto de crudo"].ToString() } into grp
let sm = grp.Sum(r => Convert.ToInt32(r["Barriles promedio por día nominados"].ToString()) / total)
select dtResult.Rows.Add(new object[] { grp.Key.k1, grp.Key.k2, sm })
).CopyToDataTable()
Really appreciate your feedback on the converter. You can try the following query:
var query = from d in dt.AsEnumerable()
group d by new { k1 = d.Field<string>("Nombre del elemento nominado"), k2 = d.Field<int>("ID de producto de crudo") } into grp
let sm = grp.Sum(r => Convert.ToInt32(r.Field<decimal>("Barriles promedio por día nominados")) / total)
select dtResult.Rows.Add(new object[] { grp.Key.k1, grp.Key.k2, sm });
var result = query.CopyToDataTable();