Hi,jayaram Ответов: 1

Запрос C# linq с groupby, having и where.


Hi,

How to write Linq Query for below SQL Query.

Select Count(ul.OriginId),ul.OriginId from UserLink ul
Where ul.OriginId is not null
group by ul.OriginId
having count(ul.OriginId)>1


Select ul.UserId from UserLink ul where ul.OriginId=123

Finally I want to return UserId group by OriginId but here I have written in two separate queries. 
Can we write above sql queries in single Linq query? please help me how to write  linq query in C#.

Thanks,
jayaram


Что я уже пробовал:

Я не могу использовать having в Linq.

Gerry Schmitz

Как бы вы хотели, чтобы это было закодировано? Консольное приложение? Формы Windows? WPF? Страшно, как вы думаете? Ксамарин? Смартфоне или планшете? Таблетка? ПК?

Как мы должны назвать эту программу?

Может быть, вам нужна база данных с этим? SQL Server? Оракул? MySql?

А как насчет ОРМ?

haseebshah

Можете ли вы поделиться образцом таблицы?

1 Ответов

Рейтинг:
0

Maciej Los

В зависимости от того, чего вы пытаетесь достичь...

Попробуй:

var data = context.UserLink
    .GroupBy(x=>x.OriginId)
    .Where(grp=>grp.Key==123 && grp.Count()>1)
    .SelectMany(grp=>new
        {
             OriginId = grp.Key,
             UserId = grp.Select(u=> u.UserId)
             CountOfOriginId = grp.Count(),
         })
    .ToList();


Наконец, я бы предложил вам:
1) Скачайте 101 образцы Linq[^]
2) Скачать Помощью linqpad[^]