读书人

请教linq一对多如何写 多的只取一个字

发布时间: 2012-11-19 10:18:51 作者: rapoo

请问linq一对多怎么写 多的只取一个字段的sum值
有几个表,前几个表都是内联,最后一个表是左联前面的表,并且sum最后一个表的 sumMonery字段,求解?

最后是能给我写个例子,谢谢!!因为左连接 内连接 多了我也不太熟悉

[解决办法]

C# code
//代码手打,提供思路参考var query=(from a in dbo.View_AdviceNoteRightTable           join b in dbo.AdviceNoteLinkTable.Where(x=>x.PayType == 42) on a.AdviceID equals b.AdviceID            join c in dbo.OverWeightRec on b.PayReturnID equals c.ID          join d in dbo.ContractSubPutPayment.Where(y=>y.PayType == 2)  on c.ID equals d.RPID into t          from d in t.DefaultIfEmpty()          group new {a,b,c,d} by new{a.AdviceID,a.AdviceState,c.ID,c.OverWeightDate,c.OverWeightCount} into g          select new {            AdviceID=g.Key.AdviceID,            AdviceState=g.Key.AdviceState,            ID=g.Key.ID,            OverWeightDate=g.key.OverWeightDate,            OverWeightCount=g.Key.OverWeightCount,              SumMonery=g.Sum(z=>z.PayMoney)             }).OrderBy(s=>s.ID);
[解决办法]
你再仔细看看

读书人网 >.NET

热点推荐