Linq to sql 将带有group by的SQL查询转换为LINQ查询
我正在努力将SQL查询复制到LINQ中。 有人能帮忙吗 SQL: 林克:到目前为止:Linq to sql 将带有group by的SQL查询转换为LINQ查询,linq-to-sql,Linq To Sql,我正在努力将SQL查询复制到LINQ中。 有人能帮忙吗 SQL: 林克:到目前为止: var invoices = from inv in db.TblInvoices join invLine in db.TblInvoiceLines on inv.LngID equals invLine.LngInvoiceID where inv.IntStatus != 0 where inv.LngPersonID == personID group inv by
var invoices = from inv in db.TblInvoices
join invLine in db.TblInvoiceLines on inv.LngID equals invLine.LngInvoiceID
where inv.IntStatus != 0
where inv.LngPersonID == personID
group inv by new {inv.LngID,inv.DtTimeStamp,inv.StrReference,inv.FltTotalValue} into newInv
问题的一部分是我想做一个
select new Invoice(){
}
并建立我的自定义发票对象,但我在newInv中看不到任何属性
有人能提供建议吗?我现在没有时间给出完整的答案,但是:
- 要获取密钥的属性,请使用
等newInv.key.streference
- 要获取聚合(例如最大值),请使用
等newInv.max(x=>x.projectd)
希望这足够让你走了。基本上,
newInv
将是一组条目,带有一个关联的键(这是您分组的依据)。当然,另一个选项是执行一个简单的LINQ查询,然后执行一个invoices.GroupBy(x=>new{x.InvoiceID,x.InvoiceDate,x.Reference,x.TotalValue});
select new Invoice(){
}