次のクエリを実行しようとしていますが、何らかの理由MemberTransactionCount
でNonMemberTransactionCount
まったく同じ値として返されます。.Where()
条項が期待どおりに機能していないようです。
誰かが私が間違っているかもしれない場所を指摘できることを願っています。
from trans in transactions
orderby trans.TransactionDate.Year , trans.TransactionDate.Month
group trans by new {trans.TransactionDate.Year, trans.TransactionDate.Month}
into grp
select new MemberTransactions
{
Month = string.Format("{0}/{1}", grp.Key.Month, grp.Key.Year),
MemberTransactionCount =
grp.Where(x => x.Account.Id != Guid.Empty || x.CardNumber != null)
.Sum(x => x.AmountSpent),
NonMemberTransactionCount =
grp.Where(x => x.Account.Id == Guid.Empty && x.CardNumber == null)
.Sum(x => x.AmountSpent)
}
EDIT
データベースで、結果が本来あるべきものではないことを確認しました。私たちが見ている基準を考慮せずに、すべてを足し合わせているようです。Account