#c# #entity-framework #linq
#c# #entity-framework #linq
Вопрос:
Ниже приведен мой предполагаемый SQL-запрос, и мне трудно перевести это в синтаксис метода LinQ
select top(2) MerchantSubcriptionName,count(*) as occurence
from MerchantSubscription
group by MerchantSubcriptionName
order by occurence desc
Я должен выбрать 2 лучших подписки, на которые подписано больше всего людей
Ответ №1:
Просто попробуй это:
public class Subscription
{
public string MerchantSubscriptionName { get; set; }
public int Count { get; set; }
}
var list = _dbContext.MerchantSubscription.GroupBy(x => x.MerchantSubcriptionName)
.Select(x => new Subscription { MerchantSubscriptionName = x.Key, Count = x.Count() })
.OrderByDescending(x => x.Count)
.Take(2)
.ToList();