在该列中,我有一个很快的 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。所有这些似乎都不是犹太人。
答案 0 :(得分:0)
将.ToList()添加到第二个语句:
devs = ctx.DataRecords.Select(Function(r) r.DeviceId).Distinct().ToList()