Предложение LINQ to Entities Distinct дает очень странную ошибку

У меня скоро появится диапазон значений DeviceId в этом столбце в базе данных, состоящей примерно из 40 тысяч строк. Я думал, что следующий запрос довольно легко даст мне набор различных значений DeviceId, но он выдает следующую ошибку:

        ctx = New DataMonitorDbContext()
        devs = ctx.DataRecords.Select(Function(r) r.DeviceId).Distinct()

Не удалось преобразовать объект типа «System.Data.Entity.Infrastructure.DbQuery1[System.Int32]' to type 'System.Collections.Generic.List1[System.Int32]».

Хотя в настоящее время все идентификаторы моих устройств равны 1, запрос SQL DISTINCT мгновенно возвращает 1. Кстати, это EF для SqlCE. С этим все не кажется кошерным.


person ProfK    schedule 18.09.2014    source источник


Ответы (1)


Добавьте .ToList() ко второму выражению:

devs = ctx.DataRecords.Select(Function(r) r.DeviceId).Distinct().ToList()
person ErikEJ    schedule 18.09.2014