LINQ to Entities Distinct子句给出了一个非常奇怪的错误

时间:2014-09-18 08:16:21

标签: linq-to-entities sql-server-ce entity-framework-6

在该列中,我有一个很快的 DeviceId 值范围,在大约40k行的数据库中。我认为以下查询很容易给我一组不同的 DeviceId 值,但它会因下面的错误而爆炸:

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

无法投射类型的对象   'System.Data.Entity.Infrastructure.DbQuery 1[System.Int32]' to type 'System.Collections.Generic.List 1 [System.Int32]'。

虽然目前我的所有设备ID都是1,但SQL DISTINCT查询在瞬间返回1。顺便说一句,这是EF到SqlCE。所有这些似乎都不是犹太人。

1 个答案:

答案 0 :(得分:0)

将.ToList()添加到第二个语句:

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