0
を含む単一のDataTableから複数の列を取得します:LINQは私がフィールドを含む単一のデータテーブルを持ってグループ化し、合計
var query = (from lui in DTbatches.AsEnumerable()
where lui.TransactionDate >= BeginDate &&
lui.TransactionDate < EndDate
group lui.TransactionID by lui.TransactionID into g
order by g.Key descending
select new TransactionIDListItem
{
TransactionID = g.Key,
ItemCount = g.Count()
}).ToList();
これは動作しますが、のみを返します。
SELECT TransactionID, TransactionDate, Sum(AdjustedValue), COUNT(*) AS ItemCount
FROM DATATABLE
WHERE TransactionDate >= BeginDate
and TransacationDate < EndDate
GROUP BY TransactionID
ORDER BY TransactionID DESCENDING
は、私は、次の試してみましたTransactionIDおよび指定されたトランザクション内のレコード数。 TransactionDateフィールドとsum(AdjustedValue)フィールドも含めるようにLINQを変更するにはどうすればよいですか?あなたが複数の値を得るためにあなたのグループのために匿名型を作成する必要が
public int BatchID {get; set;}
public DateTime TransactionDate {get; set;}
public int ItemCount {get; set;}
public decimal TotalValue {get; set;}
これは私が欠けていたものでした。ありがとうございました!また、 "少なくとも1つのオブジェクトがIComparableを実装する必要があります"というエラーを緩和するために、 "orderby.g.key"を "orderby.g.Key.TransactionID"に変更する必要がありました。 Lisa Zoglio Morgan [リンク](http://stackoverflow.com/questions/6467272/at-least-one-object-must-implement-icomparable)に感謝します。 – user1156862