Linq to sql 如何在C中实现这一点
如何在C中有条件地聚合 类似于下面的vb代码:Linq to sql 如何在C中实现这一点,linq-to-sql,Linq To Sql,如何在C中有条件地聚合 类似于下面的vb代码: Dim movement = From item In dbo.VIEWITEMMOVEMENTs Where item.DATETRANSFERRED.Value.Date = Me.DateTimePicker1.Value.Date Group By item.DATETRANSFERRED.Value.Date, item.ITEMDESCRIPTION
Dim movement = From item In dbo.VIEWITEMMOVEMENTs
Where item.DATETRANSFERRED.Value.Date = Me.DateTimePicker1.Value.Date
Group By item.DATETRANSFERRED.Value.Date, item.ITEMDESCRIPTION
Into moved = Group, sold = Sum(item.QUANTITYSOLD), [IN] = Sum(If(item.QUANTITY < 0.0, 0.0, item.QUANTITY)), Out = Sum(If(item.QUANTITY > 0, 0, item.QUANTITY))
Select ITEMDESCRIPTION, sold, [IN], Out Order By ITEMDESCRIPTION Ascending
Me.DataGridView1.DataSource = movement
如果您正试图转换该代码片段。你可以像这样使用转换器
希望这能有所帮助。您尝试了什么?C实际上是一样的。这种问题并不适合这个网站。主题行也没什么用处——它是搜索证据。
var result = (
from item in dbo.VIEWITEMMOVEMENTs
where item.DATETRANSFERRED.Value.Date == this.DateTimePicker1.Value.Date
group item by new { item.DATETRANSFERRED.Value.Date, item.ITEMDESCRIPTION }
into g
select new
{
g.Key.ITEMDESCRIPTION,
sold = g.Sum(x => x.QUANTITYSOLD),
IN = g.Sum(x => (x.QUANTITY <0 ? 0 : x.QUANTITY)),
Out = g.Sum(x => (x.QUANTITY > 0 ? 0 : x.QUANTITY))
}
).OrderBy(d => d.ITEMDESCRIPTION);