Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# LINQ Grouping
Hello All,
 
I am facing an prob please help.
 
I have following class.
class Product
{
        public int ProdCode { get; set; }
        public decimal NetAmount { get; set; }
        public List<int> BillDetailIds { get; set; }
}
 
In db there are two tables:
 
Table 1: Master table : containing following columns
BillId (PK), BillDate
Table 2: Details Table: containing following columns
BillDetailId (PK), BillId (FK), ProdCode, NetAmount
 
I want to show list from details table group by with Prodcode with sum of its amount. so i did below
 

var prodlist=Db.Details..GroupBy(x=>new{x.ProdCode}).select(x=>
                 new Product(){
                    ProdCode = Convert.ToInt32(x.FirstOrDefault().ProdCode),
                    NetAmount = x.Sum(s => s.Amount),
                    BillDetailIds=??? 
};
 
I'm stuck in BillDetailIds.
I need to store BillDetailIds on which groups is performed to create an Product object.
 

Help me please, thanks in advance
Posted 8-Aug-12 17:35pm
Edited 8-Aug-12 17:40pm
Wes Aday94.3K
v2

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

You could use this to resolve the problem:
 
 var prodlist = Db.Details.GroupBy(x=>new {x.ProdCode}).Select(x=>new Product()
{
   ProdCode = Convert.ToInt32(x.FirstOrDefault().ProdCode),
   NetAmount = x.Sum(s => s.Amount),
   BillDetailIds = Db.Details.Where(
                 z=>z.ProdCode == x.FirstOrDefault().ProdCode)
                 .Select(z=>z.BillDetailId).ToList()
});
 
I hope this helps you
 
Kind regards
  Permalink  
v2
Comments
tanishtaman at 9-Aug-12 13:41pm
   
thanks...it was so simple but didn't strike in my mind. thanks for replying.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 385
1 Sergey Alexandrovich Kryukov 329
2 CPallini 270
3 DamithSL 214
4 Maciej Los 192
0 OriginalGriff 5,515
1 DamithSL 4,451
2 Maciej Los 3,902
3 Kornfeld Eliyahu Peter 3,480
4 Sergey Alexandrovich Kryukov 3,175


Advertise | Privacy | Mobile
Web03 | 2.8.141216.1 | Last Updated 9 Aug 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100