-2

I need to do this query in ef core:

count(cmt.CaptureMethodId) as Total,
sum(case when DeactivateDate is null then 1 else 0 end) as Active,
sum(case when DeactivateDate is not null then 1 else 0 end) as Inactive
from [dbo].[CaptureMethodTerminals] cmt
join [dbo].[MerchantCaptureMethod] mcm
on cmt.CaptureMethodId = mcm.CaptureMethodId
where mcm.ClientMerchantId in ('00020', '00025')
  • 1
    Does this answer your question? [SUM and COUNT in single LINQ to SQL query](https://stackoverflow.com/questions/39911445/sum-and-count-in-single-linq-to-sql-query) – Svyatoslav Danyliv Nov 15 '21 at 21:18

1 Answers1

0

Something like this

const ClientMerchantIds = new string[] {"00020", "00025"};
var cmt = dbContext.CaptureMethodTerminals.Where(x => ClientMerchantIds.Contains(x.CaptureMethod.ClientMerchantId));
var Total = cmt.Count();
var Active = cmt.Count(x => x.DeactivateDate == null);
var Inactive = cmt.Count(x => x.DeactivateDate != null);
Fixation
  • 969
  • 6
  • 12