DevForce 2010 Top n查询

时间:2015-07-22 18:33:31

标签: sql devforce top-n

我想要从包含超过200万行的表中删除重复记录。我有一个IEntityQuery进行分组和计数,并返回count()>问题是这个查询也可以返回超过一百万行。我想使用DevForce进行TOP 100查询,但我还没有找到办法做到这一点。我意识到我可以在Execute()之后使用.Take(100),但这需要返回所有行然后取100.我希望查询只返回数据库中的100行。这似乎是一个相当普遍的需求,但到目前为止,我还没有在网站或IdeaBlade网站上找到任何关于如何实现这一目标的例子。

感谢!!!

var query = from log in Manager.Logs
            select logs;

 query
      .Execute()
      .ToList()
      .Take(100);  --Bad for this query--

1 个答案:

答案 0 :(得分:1)

如果在执行之前执行Take(),则生成的SQL将包含Top运算符。所以像这样:

var query = from log in Manager.Logs
            select log;
query
      .Take(100)
      .ToList();

如果您的实际查询类型由于分组而更复杂,则可能需要进行强制转换才能使用Take方法。