1
特定のグループ内の要素の数を取得するにはどうすればよいですか?下のクエリでは、アカウントごとにキャンセルされたアクティブなサブスクリプションの数を知りたいと思っています。私が得ているのは、少なくとも1つのキャンセルされたまたはアクティブなサブスクリプションがあるかどうかによって、0または1です。各グループの要素数はどのように数えますか?
from a in Accounts
let subs = (
from s in Subscriptions.Where(s=>s.AccountId == a.Id)
group s by s.Status into bystatus
select bystatus
)
let csubs = subs.Count (s =>s.Key == "Cancelled")
let asubs = subs.Count (s => s.Key == "Active")
orderby a.Name
select new { a.Name,a.AccountNumber, a.Status, ActiveSubscriptionCount = asubs, CancelledSubscriptionCount = csubs }
を
var data = // your above code
int activeSubs = data.Sum(x => x.ActiveSubscriptionCount);
int cancelledSubs = data.Sum(x => x.CancelledSubscriptionCount);
...またはを行うことができます。 –