C# 从Linq查询中获取两个计数

C# 从Linq查询中获取两个计数,c#,linq,C#,Linq,我有两张桌子。第一个,LeadSales跟踪我们卖给经纪人的潜在客户。第二个,LeadSalesCreditActions保存每次销售的所有交易记录,包括退款请求 以下是一个示例(为了便于查看,一些列已发出,名称已缩短): 因此,45号联系人购买了3条线索。他已经申请了其中两项贷款,其中一项贷款已经发放,而另一项尚未发放 LeadSalesCreditActions ID CreatedByContactID LeadSalesID Comment Credit

我有两张桌子。第一个,
LeadSales
跟踪我们卖给经纪人的潜在客户。第二个,
LeadSalesCreditActions
保存每次销售的所有交易记录,包括退款请求

以下是一个示例(为了便于查看,一些列已发出,名称已缩短):

因此,45号联系人购买了3条线索。他已经申请了其中两项贷款,其中一项贷款已经发放,而另一项尚未发放

LeadSalesCreditActions
ID    CreatedByContactID    LeadSalesID    Comment         CreditStatus
------------------------------------------------------------------------
250        NULL                 190          NULL           0 (new)
251        NULL                 191          NULL           0 (new)
252         45                  191    "Dude, no good"      1 (refund requested)
253        NULL                 192          NULL           0 (new)
254         45                  192     "Dudes, bad data"   1 (refund requested)
255         1                   192     "Sorry about that"  2 (refund granted) 
同样,
LeadSalesCreditActions
保留了针对销售的每笔交易的日志。所以有一个销售线索的记录,另一个记录是经纪人申请信用,还有一个记录是我们授予或拒绝信用

现在,我们希望看到每个当前的信贷申请,仍然悬而未决的报告。也就是说,我们尚未批准或拒绝该请求

我有一个将两个表连接在一起的报表查询。这工作很好,但缺少一些东西

var creditActions = (get List<LeadSalesCreditActions>  where Max CreditStatus = 1)
var leadSales = (get List<LeadSales> where Max CurrentCreditStatus = 1)

var joined = from leadSale in leadSales
         join creditAction in creditActions on leadSale.LeadSalesID equals creditAction.LeadSalesID into crs
         from creditAction in crs.DefaultIfEmpty()
         select new CreditSearchItemModel
         {
             LeadSaledID = leadSale.LeadSalesID,
             Lead = leadSale.Lead,
             Contact = leadSale.Contact,
             Comment = creditAction.Comment,
             LeadSalesCreditReason = creditAction.LeadSalesCreditReason,
             LeadSalesType = leadSale.LeadSalesType,
             DateCreated = creditAction.DateCreated,
             CountCreditsRequested = ??????
             CountLeadsPurchased = ?????
         };
因此,最终报告如下所示:

LeadID    Broker    Requests     Reason             Comment
--------------------------------------------------------------------------
3398     John Doe     2/3    Bad Contact Info   "Dude, no good" [Refund Button] [Deny Button]
但这只适用于45号联系人。此查询不是特定于联系人的,我们需要所有联系人的一组结果。当然,“结果”一栏中的数字对于每个经纪人来说都是一样的,不管他在这份报告中出现多少次

我还发现了一些其他的线索,有一条,但没有一条能让我一直走到那里


我希望这一切都有意义!!谢谢

如果您需要与每个联系人相关的数据,请在联系人id上执行
分组依据
,然后执行投影如果您需要与每个联系人相关的数据,请在联系人id上执行
分组依据
,然后执行投影
CountCreditsRequested = 2
CountLeadsPurchased = 3
LeadID    Broker    Requests     Reason             Comment
--------------------------------------------------------------------------
3398     John Doe     2/3    Bad Contact Info   "Dude, no good" [Refund Button] [Deny Button]