Я хочу выбрать отдельные значения из базы данных на основе одного свойства с возвращенными всеми значениями, когда это свойство равно null
. IDs
в моей базе данных: Strings
Моя база данных выглядит так:
Id1 Id2 Value
____________________
1 null Value1
2 1 Value2
3 1 Value3
4 null Value4
5 null Value5
6 2 Value6
7 2 Value7
8 2 Value8
Я хочу получить вывод из моего запроса следующим образом:
Id1 Id2 Value
____________________
1 null Value1
2 1 Value2 // i dont care which one from Id2 = 1 i get
4 null Value4
5 null Value5
6 2 Value6 // i dont care which one from Id2 - 2 i get
Как видите, я хочу получить List
, который имеет все элементы, где Id2
равен нулю, и возвращает только один элемент, где Id2
одинаково (мне все равно, какой запрос элемента вернется).
Я пытался что-то кодировать:
query
.Where(x => !string.IsNullOrEmpty(x.Id2))
.GroupBy(z => z.Id2)
.Select(grp => grp.FirstOrDefault())
.ToListAsync();
Но я не получаю то, что хочу, только одно представление элемента с помощью Id2
и только одно значение null
, что-то вроде этого:
Id1 Id2 Value
____________________
1 null Value1
2 1 Value2 // I want to get all elements where Id2 = null
6 2 Value6 // and distinct elements based on Id2
Мой вопрос: как написать запрос в EF, чтобы получить все нулевые элементы и все отдельные элементы на основе свойства?