using System.Collections.Generic;
public int TransactionId { get; set; }
public int PostingState { get; set; }
public DateTime CreateDate { get; set; }
public int CreateUser { get; set; }
public int TransactionId { get; set; }
public int PostingCount { get; set; }
public int TransactionState { get; set; }
public DateTime CreateDate { get; set; }
public int CreateUser { get; set; }
public static void Main()
List<Posting> postings = new List<Posting>
new Posting{ TransactionId = 1 },
new Posting{ TransactionId = 1 },
new Posting{ TransactionId = 2 },
new Posting{ TransactionId = 2 },
var transactions = postings
.GroupBy(p => p.TransactionId, (key, g) => new { TransactionId = key, Postings = g })
.Select(x => new Transaction
TransactionId = x.TransactionId,
PostingCount = x.Postings.Count(),
TransactionState = x.Postings.First().PostingState,
CreateDate = x.Postings.First().CreateDate,
CreateUser = x.Postings.First().CreateUser
Console.WriteLine(transactions.Count());