Как выбрать отдельную строку в рамках сущности - PullRequest
0 голосов
/ 29 января 2020

Я использую следующую команду на сервере sql для получения данных:

Select distinct ConstituentGroupNameId,UserId,CreatedTime  from dbo.ConstituentRecords

Но я не могу реализовать ее через каркас объекта. Я пытаюсь получить уникальный ConstituentGroupNameId и другие поля.

1 Ответ

1 голос
/ 30 января 2020

Вы можете просто использовать groupby в запросе Linq. Он может достичь того же результата, что и T- SQL 'distinct.


Группы полей, которые вы хотите различить в первую очередь, вы можете получить группы, которые вы создаете. Затем вы выбираете первый из элементов в группах.

Наконец, вы получаете отдельные фильтруемые строки.

Лямбда-выражение:

var boo = ConstituentRecords
.GroupBy(o => new { o.ConstituentGroupNameId, o.UserId, o.CreatedTime } )
.Select(g=>g.First())
.ToList();

или

выражение запроса:

var boo = (from v in ConstituentRecords
           group v by new { v.ConstituentGroupNameId, v.UserId, v.CreatedTime } into g
           select g.First()).ToList();
...