我有一个表,里面有几百万条记录。我想进行抽样,返回表中的每条第 n 条记录。我当前的解决方案如下所示:
myQuery.Where((rec, index) => index % interval == 0);
但是 Linq to Entities 不支持这一点并抛出异常。我也试过这个:
myQuery.Select((rec, index) => new { Index = index, Record = rec })
.Where(x => x.Index % interval == 0);
但 Linq to Entities 也不支持。
即使它确实以这种方式工作,它看起来也不是很优雅。还有其他方法吗?
最佳答案
这里有类似的 Linq to SQL 讨论 LINQ to SQL Every Nth Row From Table , 检查一下。
我认为 SQL 才是正确的选择。在 EF 中,您可以将 SQL 放在 DefiningQuery 中
关于c# - 获取表中所有记录的样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8567400/