Как удалить столбцы-дубликаты из результата запроса, используя Entity-Framework? - PullRequest
0 голосов
/ 26 апреля 2010

В моей таблице базы данных у меня есть

Key    | Value
a      | 1
a      | 2
b      | 11
c      | 1
d      | 2
b      | 3

Но мне просто нужно получить элементы, ключи которых не являются дубликатами предыдущих строк. Желаемый результат должен быть:

Key    | Value
a      | 1
b      | 11
c      | 1
d      | 2

Как мы можем получить желаемый результат, используя Entity-Framework?

Примечание: нам нужно первое значение. Большое спасибо.

Ответы [ 2 ]

2 голосов
/ 26 апреля 2010
var q = from e in Context.MyTable
        group e by e.Key into g
        select new 
        {
            Key = g.Key,
            Value = g.OrderBy(v => v.Value).FirstOrDefault()
        };
1 голос
/ 26 апреля 2010

Вы должны посмотреть либо на запись View в базе данных, но и на то, чтобы сопоставить вашу сущность.Или создать DefiningQuery в части вашего EDMX (он же бит, который заканчивается в файле SSDL).

См. Совет 34 для получения дополнительной информации.

Концептуально обаподходы позволяют вам написать представление, исключающее «повторяющиеся строки».Разница лишь в том, где находится представление.

Если у вас есть контроль над базой данных - я бы поместил представление в базу данных. Если нет, вы можете поместить представление внутри себя, а затем отобразить его.

Надеюсь, это поможет

Алекс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...