Возможно, ваш групповой бой можно изменить, чтобы преодолеть это препятствие. Сложность перевода запроса GroupBy linq в правильный запрос sql все еще остается проблемой разработки с dotnetcore.
Редактировать: Я вижу закрытую проблему на Github: Запрос с GroupBy или GroupJoin выдает исключение # 17068 Но я не уверен, работают ли они над проблемой GroupBy, или она исправлена, или они ничего не будут с этим делать.
Возможно, вы можете изменить свой запрос следующим образом: Обратите внимание, что я удалил .ToList()
перед подсчетом, потому что мне кажется излишним, если вам просто нужен подсчет.
var patientIds = (from a in this.m_dbContext.Appointments
join p in this.m_dbContext.Patient on a.Patientid equals p.Patientid
where a.Doctorid == doctorid && a.Clinicid == clinicid
select a.Patientid).Distinct();
var items = (from p in this.m_dbContext.Patient
join patientId in patientIds on p.Patientid equals patientId
orderby p.Name
select new
{
p.Patientid,
p.Clinicid,
p.Name,
p.Mobilenumber,
p.Gender,
p.Dob,
p.Age,
p.Address,
p.City,
p.State,
p.Pincode
}).ToList();
Или если вам просто нужен подсчет:
var count = (from p in this.m_dbContext.Patient
join patientId in patientIds on p.Patientid equals patientId
orderby p.Name
select new
{
p.Patientid
}).Count();